Condividi tramite


Riprendere un database di disponibilità (SQL Server)

In Gruppi di disponibilità AlwaysOn è possibile riprendere un database di disponibilità sospeso utilizzando SQL Server Management Studio, Transact-SQL o PowerShell in SQL Server 2012. 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 database secondari corrispondenti, mentre le funzionalità di ridondanza e failover cessano per tale database finché il database primario non viene ripreso.

  • Prima di iniziare:  

    Limitazioni e restrizioni

    Prerequisiti

    Sicurezza

  • Per riprendere un database secondario tramite:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

  • Attività correlate

Prima di iniziare

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.

Sicurezza

Autorizzazioni

È necessaria l'autorizzazione ALTER per il database.

È necessaria l'autorizzazione ALTER AVAILABILITY GROUP nel gruppo di disponibilità, l'autorizzazione CONTROL AVAILABILITY GROUP, l'autorizzazione ALTER ANY AVAILABILITY GROUP o l'autorizzazione CONTROL SERVER.

Icona freccia utilizzata con il collegamento Torna all'inizio[Torna all'inizio]

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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Torna all'inizio]

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 utilizzando l'istruzione ALTER DATABASE seguente:

    ALTER DATABASE database_name SET HADR RESUME

Icona freccia utilizzata con il collegamento Torna all'inizio[Torna all'inizio]

Utilizzo di PowerShell

Per riprendere un database secondario

  1. Impostare la directory (cd) sull'istanza del server che ospita la replica di cui si desidera riprendere il database. Per ulteriori informazioni, vedere la sessione Prerequisiti più indietro in questo argomento.

  2. Utilizzare 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, utilizzare il cmdlet Get-Help nell'ambiente PowerShell di SQL Server. Per ulteriori informazioni, vedere Visualizzazione della Guida di SQL Server PowerShell.

Per impostare e utilizzare il provider PowerShell per SQL Server

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Attività correlate

Vedere anche

Concetti

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)