Condividi tramite


Riprendere un database di disponibilità (SQL Server)

È possibile riprendere un database di disponibilità sospeso in Always On gruppi di disponibilità usando SQL Server Management Studio, Transact-SQL o PowerShell in SQL Server 2014. 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

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

È richiesta 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.

Uso 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.

Uso 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 DATABASEseguente:

    ALTER DATABASE database_name SET HADR RESUME

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 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 Get-Help cmdlet 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

Vedere anche

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)