Guida alla migrazione: SQL Server a Istanza gestita di SQL di Azure

Si applica a: Istanza gestita di SQL di Azure SQL

In questa guida viene illustrato come eseguire la migrazione dell'istanza di SQL Server a Istanza gestita di SQL di Azure.

Esaminare i prerequisiti e completare i passaggi di pre-migrazione prima di continuare.

Migrazione

Dopo aver completato i passaggi della fase di pre-migrazione, è possibile eseguire la migrazione dello schema e dei dati.

Eseguire la migrazione dei dati usando il metodo di migrazione scelto.

Questa sezione illustra la procedura di migrazione generale per le seguenti opzioni di migrazione consigliate:

  • Collegamento a istanza gestita
  • Servizio di riproduzione log (LRS)
  • Estensione di migrazione SQL di Azure per Azure Data Studio - Migrazione con tempi di inattività pressoché pari allo zero.
  • RESTORE DATABASE FROM URL nativo: usa backup nativi di SQL Server e comporta un tempo di inattività

L'Istanza gestita di SQL è destinato a scenari utente che prevedono la migrazione di massa di database da implementazioni di database locali o su VM Azure. Questa è l’opzione ottimale quando è necessario trasferire in modalità lift-and-shift il back-end di applicazioni che usano regolarmente funzionalità a livello di istanza e/o tra database. In questo scenario, è possibile spostare un'intera istanza in un ambiente corrispondente in Azure senza dover ridefinire l'architettura delle applicazioni.

Per spostare istanze di SQL, è necessario pianificare accuratamente quanto segue:

  • La migrazione di tutti i database da collocare (quelli in esecuzione nella stessa istanza)
  • La migrazione degli oggetti a livello di istanza da cui dipende l'applicazione, quali account di accesso, credenziali, operatori e processi di SQL Agent e trigger a livello di server.

L'Istanza gestita di SQL è un servizio gestito che consente di delegare alcune delle regolari attività DBA alla piattaforma perché sono predefinite. Di conseguenza, non è necessario eseguire la migrazione di alcuni dati a livello di istanza, come i processi di manutenzione per i backup regolari o la configurazione Always On, perché la disponibilità elevata è predefinita.

Azure Data Studio

Questa sezione illustra i passaggi generali per eseguire la migrazione da SQL Server a Istanza gestita di SQL di Azure con tempi di inattività minimi usando l'estensione di migrazione SQL di Azure in Azure Data Studio. Per istruzioni dettagliate, vedere Esercitazione: eseguire la migrazione di SQL Server a Istanza gestita di SQL di Azure online in Azure Data Studio.

Per eseguire la migrazione con Azure Migrate, seguire questa procedura:

  1. Scaricare e installare Azure Data Studio e l'estensione di Migrazione Azure SQL.
  2. Avviare la procedura guidata Migrazione in migrazione di Azure SQL nell'estensione di Azure Data Studio.
  3. Selezionare i database per la valutazione e visualizzare i problemi di idoneità o di preparazione della migrazione (se presenti). Inoltre, raccogliere i dati sulle prestazioni e ottenere consigli di Azure appropriati.
  4. Selezionare l'account Azure e l'Istanza gestita di SQL di Azure di destinazione dalla sottoscrizione.
  5. Selezionare il percorso dei backup del database. I backup del database possono trovarsi in una condivisione di rete locale o in Archiviazione BLOB di Azure contenitore.
  6. Creare un nuovo Servizio Migrazione del database di Azure usando la procedura guidata in Azure Data Studio. Se in precedenza è stato creato un Servizio Migrazione del database di Azure usando Azure Data Studio, è possibile riutilizzare lo stesso, se si desidera.
  7. Facoltativo: è necessario scaricare e installare il runtime di integrazione self-hosted in una macchina con accesso all'istanza di SQL Server di origine e alla posizione contenente i file di backup se i backup si trovano in una condivisione di rete locale.
  8. Dopo aver avviato la migrazione del database, è possibile monitorare lo stato di avanzamento in Azure Data Studio. È anche possibile tenere traccia dello stato di avanzamento nel portale di Azure nella risorsa del servizio Migrazione del database di Azure.
  9. Completare il cutover.
    1. Arrestare tutte le transazioni in ingresso nel database di origine.
    2. Apportare le modifiche alla configurazione dell'applicazione per puntare al database di destinazione in Istanza gestita di SQL di Azure.
    3. Eseguire un backup del log finale del database di origine nella posizione di backup specificata.
    4. Assicurarsi che tutti i backup del database abbiano lo stato Ripristinato nella pagina dei dettagli del monitoraggio.
    5. Selezionare Completare cutover nella pagina dei dettagli del monitoraggio.

Questa sezione illustra i passaggi generali per eseguire la migrazione da SQL Server a Istanza gestita di SQL di Azure con tempi di inattività minimi usando il collegamento Istanza gestita. Per istruzioni dettagliate, si veda Eseguire la migrazione con il collegamento.

Per eseguire la migrazione con il collegamento, seguire questa procedura:

  1. Creare l’Istanza gestita di SQL di destinazione: portale di Azure, PowerShell, interfaccia della riga di comando di Azure.
  2. Preparare l'ambiente per il collegamento.
  3. Configurare il collegamento con SSMS o gli script.
  4. Arrestare il carico di lavoro.
  5. Convalidare i dati nell'istanza di destinazione.
  6. Eseguire il failover con il collegamento.

Servizio di riproduzione log (LRS)

Questa sezione illustra i passaggi generali per eseguire la migrazione da SQL Server a Istanza gestita di SQL di Azure con tempi di inattività minimi usando il servizio di riproduzione log (LRS, archiviazione con ridondanza locale). Per istruzioni dettagliate, vedere Esegui la migrazione di database da SQL Server usando il servizio di riproduzione log.

Per eseguire la migrazione con archiviazione con ridondanza locale, seguire questi passaggi:

  1. Creare un account di archiviazione di Azure con un contenitore BLOB.
  2. Eseguire l'autenticazione all'account di archiviazione BLOB usando un token di firma di accesso condiviso o un'identità gestita e convalidare l'accesso.
  3. Assicurarsi di configurare correttamente la struttura di cartelle se si prevede di eseguire la migrazione di più database.
  4. Caricare i backup nell'account di archiviazione copiando i backup o eseguendo direttamente i backup usando l'URL BACKUP TO.
  5. Determinare se si vuole eseguire l'archiviazione con ridondanza locale in modalità di completamento automatico o continuo.
  6. Avviare l'archiviazione con ridondanza locale.
  7. Monitorare il progresso della migrazione.
  8. Completare la migrazione (se in modalità continua).

Backup e ripristino

Una delle funzionalità chiave di Istanza gestita di SQL di Azure per consentire una migrazione rapida e semplice del database è il ripristino nativo nell'istanza gestita di SQL dei file di backup (.bak) archiviati in Azure Storage. Il backup e il ripristino sono operazioni asincrone in base alle dimensioni del database.

Il diagramma seguente offre una panoramica di alto livello del processo:

Il diagramma mostra SQL Server con una freccia etichettata BACKUP/Caricamento nell'URL che va verso Archiviazione di Azure e una seconda freccia etichettata RESTORE dall'URL che va da Archiviazione di Azure a un’Istanza gestita di SQL.

Nota

Il tempo necessario per eseguire il backup, caricarlo nell'archiviazione di Azure ed eseguire un'operazione di ripristino nativa per Istanza gestita di SQL di Azure si basa sulle dimensioni del database. Tenere conto di un tempo di inattività sufficiente per supportare l'operazione per database di grandi dimensioni.

La tabella seguente contiene altre informazioni sul metodo che è possibile usare a seconda della versione di SQL Server di origine eseguita:

Procedi Versione e motore SQL Metodo di backup/ripristino
Inserire il backup in Archiviazione di Azure Prima del 2012 SP1 CU2 Caricare direttamente il file .bak in Archiviazione di Azure
2012 SP1 CU2 - 2016 Backup diretto con sintassi con credenziali deprecata
2016 e versioni successive Backup diretto con credenziali di firma di accesso condiviso
Eseguire il ripristino da Azure Storage in un'istanza gestita Ripristino da URL con credenziali di firma di accesso condiviso

Importante

IQuando si migra un database protetto con transparent data encryption a un'istanza gestita utilizzando l'opzione di ripristino nativo, il certificato corrispondente dalla VM SQL Server locale o Azure deve essere migrato prima del ripristino del database. Per i passaggi dettagliati, vedere Eseguire la migrazione del certificato di un database protetto tramite TDE a Istanza gestita di SQL di Azure.

Il ripristino di database di sistema non è supportato. Per eseguire la migrazione di oggetti a livello di istanza (archiviati in database master o msdb), è consigliabile inserirli in script ed eseguire gli script T-SQL nell'istanza di destinazione.

Per eseguire la migrazione tramite backup e ripristino, seguire questa procedura:

  1. Eseguire il backup del database nel servizio Archiviazione BLOB di Azure. Ad esempio, usare il backup nell'URL in SQL Server Management Studio. Usare lo strumento di Microsoft Azure per supportare i database precedenti a SQL Server 2012 SP1 CU2.

  2. Usare SQL Server Management Studio per connettersi all'Istanza gestita di SQL di Azure.

  3. Creare credenziali usando una firma di accesso condiviso per accedere all'account di archiviazione BLOB di Azure con i backup del database. Ad esempio:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
        WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
            SECRET = '<secret>'
    
  4. Ripristinare il backup dal contenitore BLOB di Azure Storage. Ad esempio:

    RESTORE DATABASE [TargetDatabaseName]
    FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. Al termine del ripristino, visualizzare il database in Esplora oggetti in SQL Server Management Studio.

Per altre informazioni su questa opzione di migrazione, vedere Avvio rapido: ripristinare un database in Istanza gestita di SQL di Azure con SSMS.

Nota

L'operazione di ripristino del database è asincrona e ripetibile. È possibile che si verifichi un errore in SQL Server Management Studio se la connessione si interrompe o raggiunge il timeout. Il database SQL di Azure continuerà a tentare di ripristinare il database in background. È possibile tenere traccia dello stato di avanzamento del ripristino usando le visualizzazioni sys.dm_exec_requests e sys.dm_operation_status.

Sincronizzazione e cutover dei dati

Quando si usano opzioni di migrazione che replicano/sincronizzano continuamente le modifiche dei dati dall'origine alla destinazione, i dati e lo schema di origine possono cambiare e derivare dalla destinazione. Durante la sincronizzazione dei dati, assicurarsi che tutte le modifiche nell'origine vengano acquisite e applicate alla destinazione durante il processo di migrazione.

Dopo aver verificato che i dati siano uguali sia nell'origine che nella destinazione, è possibile passare dall'origine all'ambiente di destinazione. Pianificando il processo di cutover con i team aziendali/applicativi per garantire un'interruzione minima durante il cutover non si influisce sulla continuità aziendale.

Importante

Per informazioni dettagliate sui passaggi specifici associati all'esecuzione di un cutover come parte delle migrazioni tramite DMS, vedere Esecuzione del cutover della migrazione.

Dopo la migrazione

Dopo aver portato a termine la fase di migrazione, è necessario eseguire una serie di attività post-migrazione per assicurarsi che tutto funzioni nel modo corretto e più efficiente possibile.

La fase di post-migrazione è fondamentale per risolvere eventuali problemi di accuratezza dei dati e verificarne la completezza, nonché per risolvere possibili problemi di prestazioni con il carico di lavoro.

Monitorare e diagnosticare applicazioni

Dopo aver portato a termine la migrazione a un'istanza gestita, è necessario tenere traccia del comportamento e delle prestazioni dell'applicazione del carico di lavoro. Questo processo include le due attività seguenti:

Eseguire test

L'approccio di test per la migrazione del database prevede le attività seguenti:

  1. Sviluppare i test di convalida: per testare la migrazione del database, è necessario usare query SQL. È necessario creare le query di convalida da eseguire sia sul database di origine che su quello di destinazione. Le query di convalida dovrebbero essere estese all'ambito definito.
  2. Configurare un ambiente di test: l'ambiente di test deve contenere una copia del database di origine e del database di destinazione. Assicurarsi di isolare l'ambiente di test.
  3. Eseguire i test di convalida: eseguire i test di convalida sull'origine e sulla destinazione, quindi analizzare i risultati.
  4. Eseguire test delle prestazioni: eseguire test delle prestazioni sull'origine e sulla destinazione, quindi analizzare e confrontare i risultati.

Usare le funzionalità avanzate

È possibile sfruttare le funzionalità avanzate basate sul cloud offerte da Istanza gestita di SQL, ad esempio disponibilità elevata predefinita, rilevamento delle minacce e monitoraggio e ottimizzazione del carico di lavoro.

Azure SQL Analytics consente di monitorare un set di istanze gestite di grandi dimensioni in modo centralizzato.

Alcune funzionalità di SQL Server sono disponibili solo dopo la modifica del livello di compatibilità del database al livello di compatibilità più recente (150).