Condividi tramite


Eseguire un failover manuale pianificato di un gruppo di disponibilità (SQL Server)

Questo argomento descrive come eseguire un failover manuale senza perdita di dati (failover manuale pianificato) in un gruppo di disponibilità AlwaysOn usando SQL Server Management Studio, Transact-SQL o PowerShell in SQL Server 2014. Per un gruppo di disponibilità il failover si verifica al livello di una replica di disponibilità. Un failover manuale pianificato, come qualsiasi failover dei gruppi di disponibilità di Always On, esegue la transizione di una replica secondaria al ruolo primario e, contemporaneamente, esegue la transizione della replica primaria precedente al ruolo secondario.

Un failover manuale pianificato, supportato solo quando la replica primaria e la replica secondaria di destinazione sono in esecuzione in modalità con commit sincrono e sono attualmente sincronizzate, mantiene tutti i dati nei database secondari uniti in join al gruppo di disponibilità nella replica secondaria di destinazione. Quando la replica primaria precedente passa al ruolo secondario, i relativi database diventeranno database secondari e viene iniziata la sincronizzazione con i nuovi database primari. Dopo la transizione di tutti i database allo stato SYNCHRONIZED, la nuova replica secondaria diventa idonea a fungere da destinazione di un futuro failover manuale pianificato.

Nota

Se la replica primaria e le repliche secondarie sono configurate per la modalità di failover automatico, dopo la sincronizzazione, la replica secondaria può anche fungere da destinazione per un failover automatico. Per altre informazioni, vedere Modalità di disponibilità (gruppi di disponibilità AlwaysOn).

Prima di iniziare

Limitazioni e restrizioni

  • Un comando del failover viene restituito non appena la replica secondaria di destinazione ha accettato il comando. Tuttavia, il recupero del database si verifica in modo asincrono dopo che il gruppo di disponibilità ha completato il failover.

  • La coerenza tra i database all'interno del gruppo di disponibilità non viene mantenuta nel failover.

    Nota

    Le transazioni tra database e le transazioni distribuite non sono supportate da Always On gruppi di disponibilità. Per altre informazioni, vedere Transazioni tra database non supportate per il mirroring del database o i gruppi di disponibilità AlwaysOn (SQL Server).

Prerequisiti e restrizioni

  • La replica secondaria di destinazione e la replica primaria devono essere entrambe in esecuzione in modalità di disponibilità con commit sincrono.

  • La replica secondaria di destinazione deve essere attualmente sincronizzata con la replica primaria. È necessario che tutti i database secondari su tale replica secondaria siano uniti in join al gruppo di disponibilità e sincronizzati con i database primari corrispondenti (ossia lo stato dei database secondari locali deve essere SYNCHRONIZED).

    Suggerimento

    Per determinare la conformità del failover di una replica secondaria, eseguire una query della colonna is_failover_ready nella DMV sys.dm_hadr_database_cluster_states o esaminare la colonna Conformità failover del dashboard del gruppo AlwaysOn.

  • Questa attività è supportata solo nella replica secondaria di destinazione. È necessario essere connessi all'istanza del server che ospita la replica secondaria di destinazione.

Sicurezza

Autorizzazioni

È 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 eseguire manualmente il failover di un gruppo di disponibilità

  1. In Esplora oggetti connettersi a un'istanza del server che ospita una replica secondaria del gruppo di disponibilità di cui eseguire il failover ed espandere l'albero del server.

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

  3. Fare clic con il pulsante destro del mouse sul gruppo di disponibilità di cui eseguire il failover e selezionare il comando Failover .

  4. Verrà avviata la Creazione guidata Gruppo di disponibilità di failover. Per altre informazioni, vedere Usare la procedura guidata Failover gruppo di disponibilità (SQL Server Management Studio).

Uso di Transact-SQL

Per eseguire manualmente il failover di un gruppo di disponibilità

  1. Connettersi all'istanza del server che ospita la replica secondaria di destinazione.

  2. Utilizzare l'istruzione ALTER AVAILABILITY GROUP , come indicato di seguito:

    ALTER AVAILABILITY GROUP nome_gruppo FAILOVER

    dove nome_gruppo è il nome del gruppo di disponibilità.

    Nell'esempio seguente viene eseguito manualmente il failover del gruppo di disponibilità MyAg alla replica secondaria connessa.

    ALTER AVAILABILITY GROUP MyAg FAILOVER;  
    

Utilizzo di PowerShell

Per eseguire manualmente il failover di un gruppo di disponibilità

  1. Spostarsi sulla directory (cd) dell'istanza del server che ospita la replica secondaria di destinazione.

  2. Utilizzare il cmdlet Switch-SqlAvailabilityGroup.

    Nota

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

    Nell'esempio seguente viene eseguito manualmente il failover del gruppo di disponibilità MyAg nella replica secondaria con il percorso specificato.

    Switch-SqlAvailabilityGroup -Path SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MyAg  
    

Per impostare e utilizzare il provider PowerShell per SQL Server

Completamento: Dopo il failover manuale su un gruppo di disponibilità

Se è stato eseguito il failover all'esterno del set di failover automatico del gruppo di disponibilità, modificare i voti del quorum dei nodi WSFC in modo da riflettere la nuova configurazione del gruppo di disponibilità. Per altre informazioni, vedere Windows Server Failover Clustering (WSFC) con SQL Server.

Vedere anche

Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)
Failover e modalità di failover (gruppi di disponibilità AlwaysOn)
Eseguire un failover manuale forzato di un gruppo di disponibilità (SQL Server)