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

Si applica a:Istanza gestita di SQL di Azure SQL

Questa guida illustra come eseguire la migrazione di Istanza gestita di SQL 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 EC2 (Elastic Compute Cloud)
  • Amazon RDS (Relational Database Service) per SQL Server
  • Google Compute Engine
  • Cloud SQL per SQL Server - GCP (Google Cloud Platform)

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

Migration process flow

Prerequisiti

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

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

Durante la fase di individuazione, analizzare la rete e identificare tutte le istanze e le funzionalità di SQL Server usate all'interno dell'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 locali di SQL Server di cui è possibile eseguire la migrazione a Istanza gestita di SQL di Azure per identificare i blocchi di migrazione o i problemi di compatibilità. Procedere con i passaggi seguenti per valutare ed eseguire la migrazione dei database a Istanza gestita di SQL di Azure:

Steps for migration to Azure SQL Managed Instance

Valutazione

Nota

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

Determinare se l'istanza gestita è compatibile con i requisiti di database dell'applicazione. L'Istanza gestita di SQL è stata progettata per consentire una facile migrazione in modalità lift-and-shift della maggior parte delle applicazioni che usano SQL Server. Talvolta, tuttavia, possono essere necessarie caratteristiche o funzionalità non ancora supportate, e il costo di implementazione di una soluzione alternativa potrebbe essere troppo elevato.

L'estensione di migrazione SQL di Azure per Azure Data Studio offre un'esperienza semplice basata su procedura guidata per valutare, ottenere consigli su Azure ed eseguire la migrazione dei database di SQL Server in locale a SQL Server in VM Azure. 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).

Usare l'estensione di migrazione SQL di Azure per Azure Data Studio per valutare i database al fine di ottenere:

Per valutare l'ambiente usando l'estensione Migrazione SQL di Azure, seguire questa procedura:

  1. Aprire l'estensione di migrazione SQL di Azure per Azure Data Studio.
  2. Connettersi all'istanza di SQL Server di origine
  3. Fare clic sul pulsante Esegui la migrazione ad Azure SQL nella migrazione guidata di Azure SQL in Azure Data Studio
  4. Selezionare i database per la valutazione, quindi fare clic su Avanti
  5. Selezionare la destinazione SQL di Azure, in questo caso Istanza gestita di SQL di Azure
  6. Fare clic su Visualizza/Seleziona per esaminare il report di valutazione
  7. Cercare problemi di blocco della migrazione e parità delle funzionalità. 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.

Per ottenere un consiglio di Azure usando l'estensione Migrazione SQL di Azure, seguire questa procedura:

  1. Aprire l'estensione di migrazione SQL di Azure per Azure Data Studio.
  2. Connettersi all'istanza di SQL Server di origine
  3. Fare clic sul pulsante Esegui la migrazione ad Azure SQL nella migrazione guidata di Azure SQL in Azure Data Studio
  4. Selezionare i database per la valutazione, quindi fare clic su Avanti
  5. Selezionare la destinazione SQL di Azure, in questo caso Istanza gestita di SQL di Azure
  6. Passare alle sezioni raccomandazioni di Azure e fare clic su Ottieni consiglio di Azure
  7. Selezionare Raccogli dati sulle prestazioni. Nel computer locale selezionare una cartella in cui archiviare i log di prestazioni, quindi selezionare Avvia.
  8. Dopo 10 minuti, Azure Data Studio indica che è disponibile una raccomandazione per Istanza gestita di SQL di Azure.
  9. Controllare la scheda Istanza gestita di SQL di Azure, nel pannello di destinazione di Azure SQL per esaminare il consiglio sugli SKU di Istanza gestita di SQL di Azure

Per saperne di più, vedere Esercitazione: Eseguire la migrazione online di SQL Server a Istanza gestita di SQL di Azure con Azure Data Studio.

Per saperne di più, vedere Esercitazione: Eseguire la migrazione offline di SQL Server a Istanza gestita di SQL di Azure con Azure Data Studio.

Se la valutazione rileva più blocchi per verificare che il database non sia pronto per un'Istanza gestita di SQL di Azure, prendere in considerazione in alternativa:

  • SQL Server in VM Azure se sia il database SQL sia l'Istanza gestita di SQL non possono essere destinazioni appropriate.

Valutazioni e analisi ridimensionate

L'estensione di Migrazione SQL di Azure per Azure Data Studio e Azure Migrate supportano l'esecuzione di valutazioni con scalabilità e 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 conformità alla destinazione.

Eseguire la distribuzione in un'istanza gestita di dimensioni ottimali

È possibile usare una Estensione di migrazione SQL di Azure per Azure Data Studio per ottenere un'Istanza gestita di SQL di Azure consigliata delle dimensioni corrette. 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 un costo minimo. Per altre informazioni, vedere Ottenete una raccomandazione Azure di dimensioni adeguate per i database SQL Server on-premises

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

L'Istanza gestita di SQL è stata progettata appositamente per carichi di lavoro locali che si intende spostare nel cloud. Introduce un modello di acquisto che offre maggiore flessibilità nella selezione del livello appropriato di risorse per i carichi di lavoro. Nell'ambiente locale, si è probabilmente soliti dimensionare i carichi di lavoro usando core fisici o larghezza di banda di I/O. Il modello di acquisto dell'istanza gestita è basato sui core virtuali, o "vCore", con I/O e spazio di archiviazione aggiuntivi disponibili separatamente. Il modello basato su vCore semplifica la comprensione dei requisiti di calcolo nel cloud rispetto alle risorse usate attualmente in locale. Questo nuovo modello consente di dimensionare correttamente l'ambiente di destinazione nel cloud. Di seguito sono descritte alcune linee guida generali che possono essere utili per 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 dover essere ridimensionate in modo che corrispondano alle 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 serie standard (Gen5)).
  • In base alla latenza di I/O di base del sottosistema di file, scegliere tra i livelli di servizio General Purpose (latenza maggiore di 5 ms) e Business Critical (latenza inferiore a 3 ms).
  • In base alla velocità effettiva prevista, preallocare le dimensioni dei file di dati o di log per ottenere le prestazioni di I/O previste.

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

Managed Instance Sizing

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

Importante

È importante che la rete virtuale e la subnet di destinazione siano sempre conformi ai requisiti per la 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.

Migrazione

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

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

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

Questo articolo illustra due delle opzioni di migrazione consigliate:

  • 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à

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

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

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

Per eseguire una migrazione con tempi di inattività minimi con Azure Data Studio, seguire questa procedura dettagliata. Per un'esercitazione dettagliata vedere Eseguire la migrazione online di SQL Server a Istanza gestita di SQL di Azure in Azure Data Studio:

  1. Scaricare e installare Azure Data Studio e l'estensione di Migrazione SQL di Azure.
  2. Eseguire la migrazione usando l'estensione di migrazione di Azure SQL per 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 necessario.
  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.

Backup e ripristino

Una delle principali funzionalità di Istanza gestita di SQL di Azure per consentire una migrazione rapida e semplice del database è il ripristino nativo dei file di backup del database (.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:

Diagram shows SQL Server with an arrow labeled BACKUP / Upload to URL flowing to Azure Storage and a second arrow labeled RESTORE from URL flowing from Azure Storage to a SQL Managed Instance.

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 Azure Storage Prima di 2012 SP1 CU2 Caricare direttamente il file con estensione .bak in Azure Storage
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

  • In caso di migrazione di un database protetto tramite Transparent Data Encryption a un'istanza gestita con l'opzione del ripristino nativo, prima di ripristinare il database è necessario eseguire la migrazione del certificato corrispondente da SQL Server della VM Azure o in locale. 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 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 = '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 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 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 completato 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 completato 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 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 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).

Passaggi successivi