Condividi tramite


Riprendere un database di disponibilità (SQL Server)

Si applica a: SQL Server

È possibile riprendere un database di disponibilità sospeso in gruppi di disponibilità Always On usando SQL Server Management Studio, Transact-SQL o PowerShell in SQL Server. Quando si riprende un database sospeso, viene attivato lo stato SYNCHRONIZING per il database. Con la ripresa del database primario vengono inoltre ripresi anche eventuali database secondari sospesi in seguito alla sospensione del database primario. Se un database secondario è stato sospeso in locale, dall'istanza del server che ospita la replica secondaria, è necessario riprendere tale database secondario in locale. Quando un database secondario e il database primario corrispondente sono nello stato SYNCHRONIZING, la sincronizzazione dei dati viene ripresa nel database secondario.

Nota

La sospensione e la ripresa di un database secondario AlwaysOn non incide direttamente sulla disponibilità del database primario. Tuttavia, la sospensione di un database secondario può avere un impatto sulle funzionalità di ridondanza e failover del database primario, finché il database secondario sospeso non viene ripreso. Questo comportamento è diverso rispetto al mirroring del database, in cui lo stato del mirroring risulta sospeso sia sul database mirror che sul database principale, finché il mirroring non viene ripreso. La sospensione di un database primario AlwaysOn comporta la sospensione dello spostamento di dati su tutti i corrispondenti database secondari e le funzionalità di ridondanza e failover cessano per tale database finché non viene ripreso il database primario.

Limitazioni e restrizioni

Un comando RESUME viene restituito non appena è stato accettato dalla replica che ospita il database di destinazione, ma la ripresa effettiva del database avviene in modo asincrono.

Prerequisiti

  • È necessario essere connessi all'istanza del server che ospita il database da riprendere.
  • Il gruppo di disponibilità deve essere online.
  • Il database primario deve essere online e disponibile.

Autorizzazioni

È richiesta l'autorizzazione ALTER per il database.

Sono necessarie l'autorizzazione ALTER AVAILABILITY GROUP nel gruppo di disponibilità, l'autorizzazione CONTROL AVAILABILITY GROUP permission, l'autorizzazione ALTER ANY AVAILABILITY GROUP o l'autorizzazione CONTROL SERVER.

Utilizzo di SQL Server Management Studio

Per riprendere un database secondario

  1. In Esplora oggetti connettersi all'istanza del server che ospita la replica di disponibilità in cui si desidera riprendere un database ed espandere l'albero del server.

  2. Espandere il nodo Disponibilità elevata AlwaysOn e il nodo Gruppi di disponibilità.

  3. Espandere il gruppo di disponibilità.

  4. Espandere il nodo Database di disponibilità , fare clic con il pulsante destro del mouse sul database e fare clic su Riprendi spostamento dati.

  5. Nella finestra di dialogo Riprendi spostamento dati fare clic su OK.

Nota

Per riprendere database aggiuntivi in questo percorso di replica, ripetere i passaggi 4 e 5 per ogni database.

Utilizzo di Transact-SQL

Per riprendere un database secondario sospeso in locale

  1. Connettersi all'istanza del server che ospita la replica secondaria di cui si desidera riprendere il database.

  2. Riprendere il database secondario usando l'istruzione ALTER DATABASE seguente:

    ALTER DATABASE nome_database SET HADR RESUME;

Con PowerShell

Per riprendere un database secondario

  1. Spostarsi nella directory (cd) dell'istanza del server che ospita la replica del database che si vuole riprendere. Per altre informazioni, vedere la sessione Prerequisitipiù indietro in questo argomento.

  2. Usare il cmdlet Resume-SqlAvailabilityDatabase per riprendere il gruppo di disponibilità.

    Ad esempio, il seguente comando riprende la sincronizzazione dati per il database di disponibilità MyDb3 nel gruppo di disponibilità MyAg.

    Resume-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\Databases\MyDb3  
    

    Nota

    Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.

Per impostare e utilizzare il provider PowerShell per SQL Server

Attività correlate

Vedi anche

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)