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 primario iniziale è supportata 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, il database del database primario iniziale viene replicato 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.

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

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.
  • Per stabilire un collegamento o effettuare il failover, da Istanza gestita di SQL a SQL Server 2022, l'istanza gestita deve essere configurata con i criteri di aggiornamento di SQL Server 2022. La replica dei dati e il failover da Istanza gestita di SQL a SQL Server 2022 non sono supportati dalle istanze configurate con i criteri di aggiornamento sempre aggiornati.
  • Sebbene sia possibile stabilire un collegamento da SQL Server 2022 a un'istanza gestita di SQL configurata con i criteri di aggiornamento sempre aggiornati, dopo il failover a Istanza gestita di SQL non sarà più possibile replicare i dati o eseguire il failback su SQL Server 2022.

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 che mostra l'opzione del menu contestuale di un database per creare un nuovo collegamento.

  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.

    Nota

    Se si vuole stabilire un collegamento a un gruppo di disponibilità già esistente, specificare l'indirizzo IP del listener esistente nel campo URL endpoint nella scheda Endpoint della pagina Specifica replica secondaria.

  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.

Screenshot che mostra lo stato del database di SQL Server e del gruppo di disponibilità distribuito in S S M S.

Espandere Disponibilità elevata Always On e Gruppi di disponibilità per visualizzare il gruppo di disponibilità distribuito creato per ogni collegamento.

Screenshot che mostra lo stato del database Istanza gestita di SQL e del gruppo di disponibilità distribuito.

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.

Eseguire il primo backup del log delle transazioni

Se SQL Server è il server primario iniziale, è importante eseguire il primo backup del log delle transazioni in SQL Server dopo il completamento del seeding iniziale, quando il database non è più nello stato Ripristino… in Istanza gestita di SQL di Azure. Eseguire quindi regolarmente i backup del log delle transazioni di SQL Server per ridurre al minimo l'aumento eccessivo del log mentre SQL Server è nel ruolo primario.

Se Istanza gestita di SQL è il database primario, non è necessario eseguire alcuna azione perché Istanza gestita di SQL di Azure esegue automaticamente i backup del log.

Se si vuole eliminare il collegamento perché non è più necessario o perché è in uno stato irreparabile e deve essere ricreato, è possibile farlo con SQL Server Management Studio (SSMS).

È possibile eliminare il collegamento dalle opzioni di menu seguenti in Esplora oggetti di SSMS dopo la connessione all'istanza:

  • Gruppi di disponibilità sempre attivi>Gruppi di disponibilità>Fare clic con il pulsante destro del mouse sul nome del gruppo di disponibilità distribuito associato al collegamento >Elimina…
  • Database> Fare clic con il pulsante destro del mouse sul database associato al collegamento >collegamento a Istanza gestita di SQL di Azure>Elimina...

Risoluzione dei problemi

Se viene visualizzato un messaggio di errore quando si crea il collegamento, 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.

Per usare il collegamento:

Per altre informazioni sul collegamento:

Per altri scenari di replica e migrazione, prendere in considerazione: