Condividi tramite


Collegamento di failover - Istanza gestita di SQL di Azure

Si applica a: Istanza gestita di SQL di Azure SQL

Questo articolo illustra come eseguire il failover di un database collegato tra SQL Server e Istanza gestita di SQL di Azure usando la funzionalità di collegamento in SQL Server Management Studio (SSMS) o PowerShell.

Nota

  • La configurazione di Istanza gestita di SQL di Azure come database primario iniziale è attualmente in anteprima e supportata solo a partire da SQL Server 2022 CU10.

Prerequisiti

Per eseguire il failover dei database nella replica secondaria tramite il collegamento sono necessari i prerequisiti seguenti:

Interrompere il carico di lavoro

Se si è pronti per eseguire il failover del database nella replica secondaria, interrompere prima qualsiasi carico di lavoro dell’applicazione nella replica primaria durante le ore di manutenzione. Ciò consente alla replica di database di recuperare il database secondario per effettuare il failover del database secondario senza perdita di dati. Assicurarsi che le applicazioni non eseguano il commit delle transazioni nella replica primaria prima del failover.

Eseguire il failover di un database

È possibile eseguire il failover di un database collegato usando SQL Server Management Studio o PowerShell.

Usare la procedura guidata Failover tra SQL Server e Istanza gestita in SSMS per effettuare il failover del database dal database primario alla replica secondaria.

È possibile eseguire un failover pianificato dalla replica primaria o da quella secondaria. Per eseguire un failover forzato, connettersi alla replica secondaria.

Attenzione

  • Prima del failover, interrompere il carico di lavoro nel database di origine per consentire al database replicato di recuperare ed eseguire completamente il failover senza perdita di dati. Un failover forzato potrebbe comportare una perdita di dati.
  • Se si effettua il failover di un database in SQL Server 2019 e versioni precedenti, il collegamento tra le due repliche viene interrotto e rimosso. Il failback al database primario iniziale non è consentito.
  • Il failover di un database con il contestuale mantenimento del collegamento con SQL Server 2022 è attualmente in anteprima.

Per effettuare il failover del database, attenersi alla procedura seguente:

  1. Aprire SSMS e connettersi a una delle due repliche.

  2. In Esplora oggetti fare clic con il pulsante destro del mouse sul database replicato, passare il puntatore sul collegamento a Istanza gestita di SQL di Azure e scegliere Failover... per aprire la procedura guidata Failover tra SQL Server e Istanza gestita. Se sono presenti più collegamenti dallo stesso database, espandere Gruppi di disponibilità sotto Gruppi di disponibilità AlwaysOn in Esplora oggetti e fare clic con il pulsante destro del mouse sul gruppo di disponibilità distribuito per il collegamento di cui si vuole effettuare il failover. Selezionare Failover… per aprire la procedura guidata Failover tra SQL Server e Istanza gestita per tale collegamento specifico.

    Screenshot che mostra l'opzione del menu contestuale di un database per il failover.

  3. Nella pagina Introduzione, seleziona Avanti.

  4. Nella pagina Scegli tipo di failover vengono visualizzati i dettagli relativi a ogni replica, al ruolo del database selezionato e ai tipi di failover supportati. È possibile avviare il failover da qualsiasi replica. Se si sceglie un failover forzato, è necessario selezionare la casella per indicare che potrebbe verificarsi una potenziale perdita di dati. Seleziona Avanti.

    Nota

    Se si esegue la migrazione a Istanza gestita di SQL di Azure, scegliere Failover pianificato.

  5. Nella pagina Accedi ad Azure e Istanza remota:

    1. Selezionare Accedi per fornire le credenziali e accedere all’account Azure.
    2. In base al tipo di failover selezionato nella pagina precedente, l'opzione Accedi funziona in modo diverso. Per un failover pianificato, l'accesso all'istanza remota (SQL Server o Istanza gestita di SQL) è obbligatorio. Per un failover forzato, la firma è facoltativa perché sono supportati i due scenari seguenti:
      • Vero ripristino di emergenza: poiché l'istanza primaria in genere non è disponibile durante una vera emergenza, l'accesso non è possibile e l'utente deve eseguire immediatamente il failover all'istanza secondaria, rendendola la nuova istanza primaria. Dopo aver risolto l'interruzione, il collegamento è in uno stato incoerente perché entrambe le repliche sono ora nel ruolo primario (scenario split-brain).
      • Esercitazione sul ripristino di emergenza: l'esecuzione di esercitazioni sul ripristino di emergenza con failover forzato è sconsigliata perché potrebbe verificarsi una potenziale perdita di dati. Tuttavia, durante un'esercitazione, poiché l'istanza primaria è disponibile, l'accesso è supportato e si ha la possibilità di invertire i ruoli per entrambe le repliche per evitare lo scenario split-brain.
  6. Nella pagina Operazioni post-failover le opzioni variano tra SQL Server 2022 e versioni precedenti e se è stato possibile connettersi o meno all'istanza primaria.

    • Nel caso di SQL Server 2022, è possibile scegliere di arrestare la replica tra repliche ed eliminare il collegamento e il gruppo di disponibilità distribuito al termine del failover. Se si vuole mantenere il collegamento e continuare a replicare i dati tra le repliche, lasciare la casella deselezionata. Se si sceglie di eliminare il collegamento è anche possibile selezionare la casella per eliminare il gruppo di disponibilità, se è stato creato esclusivamente allo scopo di replicare il database in Azure e non è più necessario. Selezionare le caselle che soddisfano lo scenario e poi Avanti.
    • Per SQL Server 2019 e versioni precedenti, l’opzione Rimuovi il collegamento è selezionata per impostazione predefinita e non è possibile deselezionarla, perché il failover a Istanza gestita di SQL arresta la replica, interrompe il collegamento ed elimina il gruppo di disponibilità distribuito. Selezionare la casella per indicare che il collegamento verrà eliminato, quindi selezionare Avanti.
    • (Facoltativamente) Se è stato possibile accedere all'istanza di SQL Server nella pagina precedente, è anche possibile eliminare il gruppo di disponibilità nell'istanza di SQL Server dopo un failover forzato selezionando la casella nella sezione Pulizia.
  7. Nella pagina Riepilogo esaminare le azioni. Facoltativamente, è possibile selezionare Script per generare uno script in modo da poter effettuare facilmente il failover del database usando lo stesso collegamento in futuro. Selezionare Fine quando si è pronti a effettuare il failover del database.

  8. Al termine di tutti i passaggi, nella pagina Risultati vengono visualizzati i segni di spunta accanto alle azioni completate correttamente. Ora è possibile chiudere la finestra.

Se si sceglie di mantenere il collegamento per SQL Server 2022, il database secondario diventa il nuovo database primario; il collegamento è ancora attivo ed è possibile eseguire il failback al database secondario.

Se si usa SQL Server 2019 e versioni precedenti o se si sceglie di eliminare il collegamento per SQL Server 2022, il collegamento viene eliminato, pertanto non esiste più dopo il completamento del failover. Il database di origine e il database di destinazione di ogni replica possono eseguire entrambi un carico di lavoro di lettura/scrittura: Sono completamente indipendenti.

Importante

Al termine del failover in Istanza gestita di SQL, ripristinare manualmente le applicazioni stringa di connessione al nome di dominio completo dell’istanza gestita di SQL per completare la migrazione o il processo di failover e continuare l’esecuzione in Azure.

Visualizzare il database dopo il failover

Per SQL Server 2022, se si sceglie di mantenere il collegamento, è possibile verificare che il gruppo di disponibilità distribuito esista in Gruppi di disponibilità in Esplora oggetti in SQL Server Management Studio.

Se il collegamento è stato eliminato durante il failover, è possibile usare Esplora oggetti per confermare che il gruppo di disponibilità distribuito non esiste più. Se si sceglie di mantenere il gruppo di disponibilità, il database verrà comunque sincronizzato.

Pulire i gruppi di disponibilità

Poiché il failover con SQL Server 2022 non interrompe il collegamento, è possibile mantenere il collegamento dopo il failover, lasciando attivo il gruppo di disponibilità e il gruppo di disponibilità distribuito. Non sono necessarie ulteriori azioni.

Tuttavia, l'eliminazione del collegamento elimina solo il gruppo di disponibilità distribuito e lascia attivo il gruppo di disponibilità. È possibile decidere di mantenere il gruppo di disponibilità o eliminarlo.

Se si decide di eliminare il gruppo di disponibilità, sostituire il seguente valore e poi eseguire il codice T-SQL di esempio:

  • <AGName> con il nome del gruppo di disponibilità in SQL Server (usato per creare il collegamento).
-- Run on SQL Server
USE MASTER
GO
DROP AVAILABILITY GROUP <AGName> 
GO

Per altre informazioni sul collegamento, vedere le risorse seguenti: