Configurare il collegamento con SSMS: Istanza gestita di SQL di Azure

Si applica a:Istanza gestita di SQL di Azure SQL

Questo articolo illustra come configurare un collegamento tra SQL Server e Istanza gestita di SQL di Azure con SQL Server Management Studio (SSMS). Con il collegamento, i database del database primario iniziale vengono replicati nella replica secondaria near real-time.

Dopo aver creato il collegamento, è possibile effettuare il failover nella replica secondaria allo scopo della migrazione o del ripristino di emergenza.

Nota

  • È anche possibile configurare il collegamento usando gli script.
  • 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.

Panoramica

Usare il collegamento per replicare i database dal database primario iniziale alla replica secondaria. Per SQL Server 2022, il database primario iniziale può essere uno tra SQL Server o Istanza gestita di SQL di Azure. Per SQL Server 2019 e versioni precedenti, il database primario iniziale può essere soltanto SQL Server. Dopo aver configurato il collegamento, i database del database primario iniziale vengono replicati nella replica secondaria.

È possibile scegliere di mantenere il collegamento per la replica continua dei dati in un ambiente ibrido tra la replica primaria e secondaria oppure è possibile effettuare il failover del database nella replica secondaria, eseguire la migrazione ad Azure o per il ripristino di emergenza. Per SQL Server 2019 e versioni precedenti, effettuare il failover a Istanza gestita di SQL di Azure interrompe il collegamento e il failback non è supportato. Con SQL Server 2022 è possibile mantenere il collegamento ed eseguire il failback tra le due repliche. Questa funzionalità è attualmente in anteprima.

Se si prevede di usare l’istanza gestita secondaria solo per il ripristino di emergenza, è possibile risparmiare sui costi di licenza attivando il vantaggio di failover ibrido.

Usare le istruzioni contenute in questo articolo per configurare manualmente il collegamento tra SQL Server e Istanza gestita di SQL di Azure. Una volta creato il collegamento, il database di origine ottiene una copia di sola lettura nella replica secondaria di destinazione.

Prerequisiti

Nota

Alcune funzionalità del collegamento sono disponibili a livello generale, mentre alcune sono al momento in anteprima. Per altre informazioni, consultare Supporto delle versioni.

Per replicare i database nella replica secondaria tramite il collegamento sono necessari i prerequisiti seguenti:

Considerare quanto segue:

  • Il collegamento supporta un database per ogni collegamento. Per replicare più database da un’istanza, creare un collegamento per ogni singolo database. Ad esempio, per replicare 10 database in Istanza gestita di SQL, creare 10 singoli collegamenti.
  • Il confronto tra SQL Server e Istanza gestita di SQL devono essere uguali. Una mancata corrispondenza nel confronto potrebbe causare una mancata corrispondenza nelle maiuscole e minuscole dei nomi del server e impedire una connessione corretta da SQL Server a Istanza gestita di SQL.
  • L’errore 1475 nella replica primaria iniziale di SQL Server indica che è necessario avviare una nuova catena di backup creando un backup completo senza l’opzione COPY ONLY.

Autorizzazioni

Per SQL Server è necessario disporre delle autorizzazioni amministratore di sistema.

Per Istanza gestita di SQL di Azure, è necessario essere membri del Contributore Istanza gestita di SQL oppure disporre delle autorizzazioni personalizzate seguenti:

Risorsa Microsoft.Sql/ Autorizzazioni necessarie
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate /azione
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

Preparare i database

Se SQL Server è il database primario iniziale, è necessario creare un backup. Istanza gestita di SQL di Azure esegue automaticamente i backup, pertanto è possibile ignorare questo passaggio se Istanza gestita di SQL è il database primario iniziale.

Usare SSMS per eseguire il backup del database in SQL Server. Seguire questa procedura:

  1. Connettersi all’istanza di SQL Server in SQL Server Management Studio (SSMS).
  2. In Esplora oggetti fare clic con il pulsante destro del mouse sul database, passare il puntatore del mouse su Attività, quindi scegliere Backup.
  3. Scegliere Completo per il tipo di backup.
  4. Verificare che l’opzione Backup su disponga del percorso di backup di un disco con spazio di archiviazione sufficiente disponibile.
  5. Selezionare OK per completare il backup completo.

Per altre informazioni, vedere Creazione di un backup completo del database.

Nota

Il collegamento supporta solo la replica dei database utente. La replica del database di sistema non è supportata. Per eseguire la migrazione di oggetti a livello di istanza (archiviati in master o msdb), inserirli in script ed eseguire gli script T-SQL nell’istanza di destinazione.

Nei passaggi seguenti usare la procedura guidata Nuovo collegamento a Istanza gestita in SSMS per creare un collegamento tra la replica primaria iniziale e la replica secondaria.

Una volta creato il collegamento, il database di origine ottiene una copia di sola lettura nella replica secondaria di destinazione.

  1. Aprire SSMS e connettersi al database primario iniziale.

  2. In Esplora oggetti fare clic con il pulsante destro del mouse sul database da collegare al database secondario, passare il puntatore sul collegamento a Istanza gestita di SQL di Azure e selezionare Nuovo per aprire la procedura guidata Nuovo collegamento a Istanza gestita. Se la versione di SQL Server non è supportata, l’opzione non è disponibile nel menu di scelta rapida.

    Screenshot that shows a database's context menu option to create a new link.

  3. Nella pagina Introduzione della procedura guidata fare clic su Avanti.

  4. Nella pagina Specifica opzioni collegamento specificare un nome per il collegamento. Se si selezionano più database, il nome del database viene aggiunto automaticamente alla fine del nome specificato in modo da non doverlo includere manualmente. Selezionare le caselle per abilitare la risoluzione dei problemi di connettività e se si prevede di usare il collegamento per il ripristino di emergenza bidirezionale per SQL Server 2022. Selezionare Avanti.

  5. Nella pagina Requisiti la procedura guidata convalida i requisiti per stabilire un collegamento al database secondario. Selezionare Avanti dopo aver convalidato tutti i requisiti oppure risolvere eventuali requisiti non soddisfatti, quindi selezionare Esegui di nuovo convalida.

  6. Nella pagina Selezione database scegliere il database da replicare nella replica secondaria tramite il collegamento. Selezionando più database, è possibile creare più gruppi di disponibilità distribuiti, uno per ogni collegamento. Selezionare Avanti.

  7. Nella pagina Specifica replica secondaria selezionare Aggiungi replica secondaria per aggiungere la replica secondaria. Se l’istanza primaria iniziale è SQL Server, verrà visualizzata la finestra Accedi ad Azure. Se il database primario iniziale è Istanza gestita di SQL, verrà visualizzata la finestra di dialogo Connessione al server.

    1. Per un’istanza primaria iniziale di SQL Server, accedere ad Azure, scegliere la sottoscrizione, il gruppo di risorse e l’istanza gestita di SQL Server secondaria dall’elenco a discesa. Selezionare Accesso per aprire la finestra di dialogo Connessione al server, quindi connettersi all’Istanza gestita di SQL in cui si vuole replicare il database. Quando viene visualizzato Accesso riuscito nella finestra Accedi, selezionare OK per chiudere la finestra e tornare alla procedura guidata Nuovo collegamento a Istanza gestita.
    2. Per Istanza gestita di SQL come database primario iniziale, connettersi all’istanza di SQL Server in cui si vuole replicare il database.
  8. Dopo aver aggiunto la replica secondaria, usare le schede della procedura guidata per modificare le impostazioni dell’endpoint, se necessario, ed esaminare le informazioni sui backup e l’endpoint di collegamento nelle schede rimanenti. Selezionare Avanti quando si è pronti per procedere.

  9. Se Istanza gestita di SQL è il database primario iniziale, la pagina successiva della procedura guidata è la pagina Accedi ad Azure. Accedere di nuovo, se necessario, quindi selezionare Avanti. La pagina non è disponibile quando SQL Server è il database primario iniziale.

  10. Nella pagina Convalida assicurarsi che tutte le convalide siano state passate correttamente. In caso di esito negativo, risolverle e rieseguire la convalida. Al termine, selezionare Avanti.

  11. Nella pagina Riepilogo esaminare ancora una volta la configurazione. Facoltativamente, è possibile selezionare Script per generare uno script in modo da poter ricreare facilmente lo stesso collegamento in futuro. Al termine, selezionare Fine per creare il collegamento.

  12. Nella pagina Esecuzione azioni viene visualizzato lo stato di avanzamento di ogni azione.

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

Visualizzare un database con replica

Una volta creato il collegamento, il database viene replicato nella replica secondaria. A seconda delle dimensioni del database e della velocità di rete, il database potrebbe inizialmente trovarsi in uno stato di ripristino nella replica secondaria. Al termine dell’inserimento iniziale, il database viene ripristinato nella replica secondaria ed è pronto per i carichi di lavoro di sola lettura.

In entrambe le repliche usare Esplora oggetti in SSMS per visualizzare lo stato sincronizzato del database replicato. Espandere Disponibilità elevata Always On e Gruppi di disponibilità per visualizzare il gruppo di disponibilità distribuito creato per ogni collegamento.

Screenshot that shows the state of the SQL Server database and distributed availability group in S S M S.Screenshot that shows the state of the SQL Managed Instance database and distributed availability group.

Indipendentemente dall’istanza primaria, è anche possibile fare clic con il pulsante destro del mouse sul gruppo di disponibilità distribuito collegato in SQL Server e selezionare Mostra dashboard per visualizzare il dashboard per il gruppo di disponibilità distribuito, che mostra lo stato del database collegato nel gruppo di disponibilità distribuito.

Interrompere il carico di lavoro

Se si è pronti per eseguire la migrazione o 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 o la migrazione al 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

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 that shows a database's context menu option for 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. Selezionare Avanti.

  5. Nella pagina Accedi ad Azure e Istanza remota selezionare Accedi per fornire le credenziali e accedere all’account Azure. Selezionare Accedi per accedere a SQL Server o Istanza gestita di SQL replica secondaria, se richiesto.

  6. Nella pagina Operazioni post-failover le opzioni differiscono tra SQL Server 2022 e le versioni precedenti.

    1. 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.
    2. 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.
  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 controllare il database in Esplora oggetti in SQL Server o Istanza gestita di SQL. Lo stato del database è Sincronizzato e il gruppo di disponibilità distribuito in Gruppi di disponibilità esiste.

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

Risoluzione dei problemi

La sezione fornisce indicazioni per risolvere i problemi relativi alla configurazione e all’uso del collegamento.

Errori

Se viene visualizzato un messaggio di errore quando si crea il collegamento o si effettua il failover di un database, selezionare l’errore per aprire una finestra con altri dettagli sull’errore.

Se si verifica un errore durante l’utilizzo del collegamento, la procedura guidata di SSMS arresta l’esecuzione nel passaggio non riuscito e non può essere riavviata di nuovo. Risolvere il problema e, se necessario, pulire l’ambiente per ripristinare lo stato originale rimuovendo il gruppo di disponibilità distribuito e il gruppo di disponibilità se è stato creato durante la configurazione del collegamento. Successivamente, avviare di nuovo la procedura guidata per ricominciare.

Stato incoerente a seguito di failover forzato

L’uso del failover forzato può comportare uno stato incoerente tra le repliche primarie e secondarie, causando uno scenario split brain da entrambe le repliche nello stesso ruolo. La replica dei dati non riesce in questo stato finché l’utente non risolve la situazione designando manualmente una replica come primaria e l’altra come secondaria.

Per altre informazioni sul collegamento, vedere le risorse seguenti: