Share via


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

In questo argomento viene illustrato come eseguire un failover manuale senza perdite di dati (failover manuale pianificato) in un gruppo di disponibilità AlwaysOn tramite SQL Server Management Studio, Transact-SQL o PowerShell in SQL Server 2012. Per un gruppo di disponibilità il failover si verifica al livello di una replica di disponibilità. Con un failover manuale pianificato, come con qualsiasi failover Gruppi di disponibilità AlwaysOn, la replica secondaria passa al ruolo primario e, contemporaneamente, la replica primaria precedente passa 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 ulteriori informazioni, vedere Modalità di disponibilità (gruppi di disponibilità AlwaysOn).

  • Prima di iniziare:  

    Limitazioni e restrizioni

    Prerequisiti e restrizioni

    Sicurezza

  • Per eseguire manualmente il failover di un gruppo di disponibilità utilizzando:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

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 quelle distribuite non sono supportate da Gruppi di disponibilità AlwaysOn. Per ulteriori 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).

    SuggerimentoSuggerimento

    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

È richiesta l'autorizzazione ALTER AVAILABILITY GROUP per il 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 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 ulteriori informazioni, vedere Utilizzare la Procedura guidata Failover del gruppo di disponibilità (SQL Server Management Studio).

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

Utilizzo 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 group_name FAILOVER

    dove group_name è il nome del gruppo di disponibilità.

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

    ALTER AVAILABILITY GROUP MyAg FAILOVER;
    

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

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

    Nell'esempio seguente viene eseguito il failover manuale del gruppo di disponibilità MyAg alla 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

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

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

Se è stato eseguito il failover al di fuori del failover automatico impostato del gruppo di disponibilità, modificare i voti del quorum dei nodi WSFC per riflettere la nuova configurazione del gruppo di disponibilità. Per ulteriori informazioni, vedere WSFC (Windows Server Failover Clustering) con SQL Server.

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

Vedere anche

Concetti

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)