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

Si applica a: Istanza gestita di SQL di Azure

Questa guida consente di eseguire la migrazione dell'istanza di SQL Server a Istanza gestita di SQL di Azure.

È possibile eseguire la migrazione di SQL Server in esecuzione in locale o in:

  • SQL Server in macchine virtuali
  • Amazon Web Services (AWS) EC2
  • Motore di calcolo (Google Cloud Platform - GCP)
  • Cloud SQL per SQL Server (Google Cloud Platform - GCP)

Per altre informazioni sulla migrazione, vedere la panoramica della migrazione. Per altre guide alla migrazione, vedere Migrazione dei database.

Flusso del processo di migrazione

Prerequisiti

Per eseguire la migrazione del SQL Server a Istanza gestita di SQL di Azure, assicurarsi di avere:

Pre-migrazione

Dopo aver verificato che l'ambiente di origine è supportato, iniziare con la fase di pre-migrazione. Individuare tutte le origini dati esistenti, valutare la fattibilità della migrazione e identificare eventuali problemi di blocco che potrebbero impedire la migrazione.

Rilevazione

Nella fase Individuazione analizzare la rete per identificare tutte le istanze e le funzionalità di SQL Server usate dall'organizzazione.

Usare Azure Migrate per valutare l'idoneità della migrazione dei server locali, eseguire il dimensionamento basato sulle prestazioni e fornire stime dei costi per l'esecuzione in Azure.

In alternativa, usare Microsoft Assessment and Planning Toolkit (map toolkit) per valutare l'infrastruttura IT corrente. Il toolkit offre un potente strumento di inventario, valutazione e creazione di report per semplificare il processo di pianificazione della migrazione.

Per altre informazioni sugli strumenti disponibili per la fase di individuazione, vedere Servizi e strumenti disponibili per gli scenari di migrazione dei dati.

Dopo aver individuato le origini dati, valutare eventuali istanze di SQL Server locali di cui è possibile eseguire la migrazione in Istanza gestita di SQL di Azure per identificare i blocchi di migrazione o i problemi di compatibilità. Procedere alla procedura seguente per valutare ed eseguire la migrazione dei database a Istanza gestita di SQL di Azure:

Passaggi per la migrazione a Istanza gestita di SQL di Azure

Valutazione

Nota

Se si valuta l'intero patrimonio di dati SQL Server su larga scala in VMWare, usare Azure Migrate per ottenere Azure SQL raccomandazioni per la distribuzione, il dimensionamento delle entità di destinazione e le stime mensili.

Determinare se Istanza gestita di SQL è compatibile con i requisiti del database dell'applicazione. Istanza gestita di SQL è progettato per offrire una migrazione semplice in modalità lift-and-shift per la maggior parte delle applicazioni esistenti che usano SQL Server. Tuttavia, a volte è possibile richiedere funzionalità o funzionalità non ancora supportate e il costo di implementazione di una soluzione alternativa è troppo elevato.

L'estensione di migrazione Azure SQL per Azure Data Studio offre un'esperienza semplice basata su procedura guidata per valutare, ottenere raccomandazioni di Azure ed eseguire la migrazione dei database SQL Server in locale a SQL Server in Azure Macchine virtuali. Inoltre, evidenziando eventuali blocchi o avvisi di migrazione, l'estensione include anche un'opzione per le raccomandazioni di Azure per raccogliere i dati sulle prestazioni dei database per consigliare un Istanza gestita di SQL di Azure di dimensioni appropriate per soddisfare le esigenze di prestazioni del carico di lavoro (con il prezzo minimo).

È anche possibile usare il Data Migration Assistant (versione 4.1 e successive) per valutare i database da ottenere:

Per valutare l'ambiente usando La valutazione della migrazione del database, seguire questa procedura:

  1. Aprire il Data Migration Assistant (DMA).
  2. Selezionare File e quindi scegliere Nuova valutazione.
  3. Specificare un nome di progetto, selezionare SQL Server come tipo di server di origine e quindi selezionare Istanza gestita di SQL di Azure come tipo di server di destinazione.
  4. Selezionare i tipi o i report di valutazione da generare. Ad esempio, compatibilità del database e parità delle funzionalità. In base al tipo di valutazione, le autorizzazioni necessarie per il SQL Server di origine possono essere diverse. DMA evidenzia le autorizzazioni necessarie per l'advisor scelto prima di eseguire la valutazione.
    • La categoria parità di funzionalità offre un set completo di raccomandazioni, alternative disponibili in Azure e procedure di mitigazione per pianificare il progetto di migrazione. (autorizzazioni sysadmin necessarie)
    • La categoria dei problemi di compatibilità identifica i problemi di compatibilità delle funzionalità parzialmente supportati o non supportati che potrebbero bloccare la migrazione e le raccomandazioni per risolverli (CONNECT SQL, VIEW SERVER STATEe VIEW ANY DEFINITION le autorizzazioni necessarie).
  5. Specificare i dettagli della connessione di origine per il SQL Server e connettersi al database di origine.
  6. Selezionare Avvia valutazione.
  7. Al termine del processo, selezionare ed esaminare i report di valutazione per i problemi di parità delle funzionalità e del blocco della migrazione. Il report di valutazione può anche essere esportato in un file che può essere condiviso con altri team o personale dell'organizzazione.
  8. Determinare il livello di compatibilità del database che riduce al minimo le attività successive alla migrazione.
  9. Identificare lo SKU Istanza gestita di SQL di Azure migliore per il carico di lavoro locale.

Per altre informazioni, vedere Eseguire una valutazione della migrazione SQL Server con Data Migration Assistant.

Se Istanza gestita di SQL non è una destinazione adatta per il carico di lavoro, SQL Server nelle macchine virtuali di Azure potrebbe essere una destinazione alternativa valida per l'azienda.

Valutazioni e analisi ridimensionate

Se si dispone di più server o database che richiedono la valutazione dell'idoneità di Azure, è possibile automatizzare il processo usando gli script usando una delle opzioni seguenti. Per altre informazioni sull'uso dello scripting, vedere Eseguire la migrazione di database su larga scala usando l'automazione.

Data Migration Assistant supporta anche il consolidamento dei report di valutazione per l'analisi. Se sono presenti più server e database che devono essere valutati e analizzati su larga scala per offrire una visualizzazione più ampia del patrimonio di dati, vedere i collegamenti seguenti per altre informazioni.

Importante

L'esecuzione di valutazioni su larga scala per più database può essere automatizzata anche tramite l'utilità della riga di comando di DMA , che consente anche di caricare i risultati in Azure Migrate per un'ulteriore analisi e idoneità di destinazione.

Eseguire la distribuzione in un'istanza gestita di dimensioni ottimali

È possibile usare l'estensione di migrazione Azure SQL per Azure Data Studio per ottenere le dimensioni corrette Istanza gestita di SQL di Azure raccomandazione. L'estensione raccoglie i dati sulle prestazioni dall'istanza di SQL Server di origine per fornire raccomandazioni di Azure di dimensioni appropriate che soddisfano le esigenze di prestazioni del carico di lavoro con costi minimi. Per altre informazioni, vedere Ottenere le dimensioni appropriate di Azure per i database di SQL Server locali

In base alle informazioni nella fase di individuazione e valutazione, creare un Istanza gestita di SQL di destinazione con dimensioni appropriate. A tale scopo, è possibile usare portale di Azure, PowerShell o un modello di Azure Resource Manager (ARM).

Istanza gestita di SQL è personalizzata per i carichi di lavoro locali che pianificano lo spostamento nel cloud. Introduce un modello di acquisto che offre maggiore flessibilità nella selezione del livello corretto di risorse per i carichi di lavoro. Nel mondo locale, probabilmente si è abituati a ridimensionare questi carichi di lavoro usando core fisici e larghezza di banda di I/O. Il modello di acquisto per l'istanza gestita è basato su core virtuali o "vCore", con spazio di archiviazione aggiuntivo e I/O disponibili separatamente. Il modello basato su vCore semplifica la comprensione dei requisiti di calcolo nel cloud rispetto alle risorse usate attualmente in locale. Questo modello di acquisto consente di ridimensionare correttamente l'ambiente di destinazione nel cloud. Di seguito sono descritte alcune linee guida generali che potrebbero aiutare a scegliere il livello di servizio e le caratteristiche appropriate:

  • In base all'utilizzo della CPU di base, è possibile effettuare il provisioning di un'istanza gestita corrispondente al numero di core in uso in SQL Server, tenendo presente che le caratteristiche della CPU potrebbero essere necessarie per soddisfare le caratteristiche della macchina virtuale in cui è installata l'istanza gestita.
  • In base all'utilizzo della memoria di base, scegliere il livello di servizio con memoria corrispondente. La quantità di memoria non può essere scelta direttamente, quindi è necessario selezionare l'istanza gestita con la quantità di vCore con memoria corrispondente, ad esempio 5,1 GB/vCore in Gen5.
  • In base alla latenza di I/O di base del sottosistema di file, scegliere tra i livelli di servizio per utilizzo generico (latenza maggiore di 5 ms) e business critical (latenza inferiore a 3 ms).
  • In base alla velocità effettiva prevista, prea allocare le dimensioni dei file di dati o di log per ottenere le prestazioni di I/O previste.

È possibile scegliere risorse di calcolo e archiviazione in fase di distribuzione e quindi modificarle in seguito senza introdurre tempi di inattività per l'applicazione usando il portale di Azure:

Istanza gestita ridimensionamento

Per informazioni su come creare l'infrastruttura di rete virtuale e un'istanza gestita, vedere Creare un'istanza gestita.

Importante

È importante mantenere la rete virtuale di destinazione e la subnet in conformità ai requisiti della rete virtuale dell'istanza gestita. Qualsiasi incompatibilità può impedire la creazione di nuove istanze o l'uso di quelle già create. Altre informazioni sulle creazione di nuove reti e la configurazione di reti esistenti.

Migrate

Dopo aver completato le attività associate alla fase di pre-migrazione, è possibile eseguire lo schema e la migrazione dei dati.

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

Istanza gestita di SQL destinazioni degli scenari utente che richiedono la migrazione di database di massa da implementazioni di database locali o di database di macchine virtuali di Azure. Sono la scelta ottimale quando è necessario sollevare e spostare il back-end delle applicazioni che usano regolarmente il livello di istanza e/o le funzionalità tra database. Se si tratta di uno scenario, è possibile spostare un'intera istanza in un ambiente corrispondente in Azure senza dover riassegnare le applicazioni.

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

  • Migrazione di tutti i database che devono essere collocati (quelli in esecuzione nella stessa istanza).
  • La migrazione di oggetti a livello di istanza a seconda dell'applicazione, inclusi gli account di accesso, le credenziali, i processi e gli operatori di SQL Agent e i trigger a livello di server.

Istanza gestita di SQL è un servizio gestito che consente di delegare alcune delle normali attività DBA alla piattaforma durante la compilazione. Pertanto, alcuni dati a livello di istanza non devono essere migrati, ad esempio processi di manutenzione per backup regolari o Always On configurazione, perché la disponibilità elevata è incorporata.

Questo articolo illustra due delle opzioni di migrazione consigliate:

  • Azure SQL estensione di migrazione per Azure Data Studio: migrazione con tempi di inattività quasi zero.
  • RESTORE DATABASE FROM URL nativo: usa backup nativi di SQL Server e comporta un tempo di inattività

Questa guida descrive le due opzioni più popolari, Servizio Migrazione del database di Azure (DMS) e il backup e il ripristino nativi.

Per altri strumenti di migrazione, vedere Confrontare le opzioni di migrazione.

Eseguire la migrazione usando l'estensione di migrazione Azure SQL per Azure Data Studio (tempi di inattività minimi)

Per eseguire una migrazione di tempo di inattività minima con Azure Data Studio, seguire la procedura di alto livello seguente. Per un'esercitazione dettagliata, vedere Eseguire la migrazione di SQL Server a un Istanza gestita di SQL di Azure online usando Azure Data Studio:

  1. Scaricare e installare Azure Data Studio e l'estensione di migrazione Azure SQL.
  2. Avviare la procedura guidata Migrate to Azure SQL nell'estensione in Azure Data Studio.
  3. Selezionare i database per la valutazione e visualizzare la conformità o i problemi di preparazione della migrazione (se presenti). Inoltre, raccogliere i dati sulle prestazioni e ottenere consigli di Azure di dimensioni corrette.
  4. Selezionare l'account Azure e il 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 un contenitore BLOB di archiviazione di Azure.
  6. Creare una nuova 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 desiderato.
  7. Facoltativo: se i backup si trovano in una condivisione di rete locale, scaricare e installare il runtime di integrazione self-hosted in un computer che può connettersi all'SQL Server di origine e il percorso contenente i file di backup.
  8. Avviare la migrazione del database e monitorare lo stato di avanzamento in Azure Data Studio. È anche possibile monitorare lo stato di avanzamento nella risorsa Servizio Migrazione del database di Azure in portale di Azure.
  9. Completare il taglio.
    1. Arrestare tutte le transazioni in ingresso nel database di origine.
    2. Apportare modifiche alla configurazione dell'applicazione per puntare al database di destinazione in Istanza gestita di SQL di Azure.
    3. Eseguire tutti i backup del log di coda per il database di origine nel percorso di backup specificato.
    4. Assicurarsi che tutti i backup del database abbiano lo stato Ripristinato nella pagina dei dettagli del monitoraggio.
    5. Selezionare Completa taglio nella pagina dei dettagli del monitoraggio.

Backup e ripristino

Una delle funzionalità principali di Istanza gestita di SQL di Azure per abilitare la migrazione rapida e semplice del database è il ripristino nativo dei file di backup del database (.bak) archiviati in Archiviazione di Azure. 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 con etichetta BACKUP/Caricamento nell'URL che scorre in Archiviazione di Azure e una seconda freccia etichettata RESTORE dall'URL che passa da Archiviazione di Azure a un Istanza gestita di SQL.

Nota

Il tempo 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. Fattore un tempo di inattività sufficiente per supportare l'operazione per i database di grandi dimensioni.

La tabella seguente fornisce altre informazioni sui metodi che è possibile usare a seconda della versione di origine SQL Server in esecuzione:

Passaggio Versione e motore SQL Metodo backup/ripristino
Inserire il backup in Archiviazione di Azure Prima del 2012 SP1 CU2 Caricare il file con estensione bak direttamente 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
Ripristinare da Archiviazione di Azure a un'istanza gestita Ripristino da URL con credenziali di firma di accesso condiviso

Importante

  • Quando si esegue la migrazione di un database protetto da Transparent Data Encryption a un'istanza gestita usando l'opzione di ripristino nativo, è necessario eseguire la migrazione del certificato corrispondente dalla macchina virtuale locale o dalla macchina virtuale di Azure SQL Server prima del ripristino del database. Per i dettagli, vedere Eseguire la migrazione del certificato TDE a un'istanza gestita.
  • Il ripristino di database di sistema non è supportato. Per eseguire la migrazione di oggetti a livello di istanza (archiviati in master o msdb database), è consigliabile eseguire script T-SQL nell'istanza di destinazione.

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

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

  2. Connettersi al Istanza gestita di SQL di Azure usando SQL Server Management Studio.

  3. Creare una credenziale 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 = 'sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2028-09-06T02:52:55Z&st=2018-09-04T18:52:55Z&spr=https&sig=WOTiM%2FS4GVF%2FEEs9DGQR9Im0W%2BwndxW2CQ7%2B5fHd7Is%3D'
    
  4. Ripristinare il backup dal contenitore BLOB di archiviazione di Azure. 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 all'interno di SQL Server Management Studio.

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

Nota

Un'operazione di ripristino del database è asincrona e può essere riprovata. È 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 le opzioni di migrazione che replicano/sincronizzano continuamente le modifiche ai 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 apportate all'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. È importante pianificare il processo di cutover con i team aziendali/applicazioni per garantire un'interruzione minima durante il cutover non 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.

Post-migrazione

Dopo aver completato correttamente la fase di migrazione, passare a una serie di attività post-migrazione per assicurarsi che tutto funzioni correttamente ed efficientemente.

La fase post-migrazione è fondamentale per riconciliare eventuali problemi di accuratezza dei dati e verificare la completezza e risolvere i problemi di prestazioni con il carico di lavoro.

Monitorare e correggere le applicazioni

Dopo aver completato la migrazione a un'istanza gestita, è necessario tenere traccia del comportamento dell'applicazione e delle prestazioni del carico di lavoro. Questo processo include le 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 devono 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 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 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 ampio set di istanze gestite in modo centralizzato.

Alcune funzionalità di SQL Server sono disponibili solo dopo che il livello di compatibilità del database viene modificato al livello di compatibilità più recente (150).

Passaggi successivi