Guida alla migrazione: SQL Server al database SQL di Azure

Si applica a:SQL ServerDatabase SQL di Azure

In questa guida viene illustrato come eseguire la migrazione dell'istanza di SQL Server a database 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.

Diagram of migration process flow.

Prerequisiti

Per la migrazione di SQL Server a database 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 su cloud Azure.

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.

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.

Dopo aver individuato le origini dati, valutare eventuali database locali di SQL Server di cui è possibile eseguire la migrazione al database SQL di Azure per identificare i blocchi di migrazione o i problemi di compatibilità.

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 database SQL di Azure (anteprima)
  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 database SQL di Azure (anteprima)
  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 database SQL di Azure.
  9. Controllare la scheda Database SQL di Azure nel pannello di destinazione di Azure SQL per esaminare il consiglio sugli SKU di database SQL di Azure

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

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

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, in particolare quelli di grandi dimensioni, può anche essere automatizzata usando l'utilità della riga di comando DMA e caricata in Azure Migrate per un'ulteriore analisi e idoneità di 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 database SQL di Azure di destinazione con dimensioni appropriate. A tale scopo, usare la Guida introduttiva: Creare un database singolo - database SQL di Azure.

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.

Eseguire la migrazione usando l'estensione di migrazione SQL di Azure per Azure Data Studio

Per eseguire una migrazione offline con Azure Data Studio, seguire questa procedura dettagliata. Per un'esercitazione dettagliata, vedere Esercitazione: Eseguire la migrazione di SQL Server a database SQL di Azure (anteprima) offline 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 il database SQL di Azure di destinazione dalla sottoscrizione.
  5. Selezionare l'elenco di tabelle di cui eseguire la migrazione.
  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.

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.

Eseguire la migrazione con replica transazionale

Quando non è possibile rimuovere il database SQL Server dalla produzione durante la migrazione, è possibile usare la replica transazionale di SQL Server come soluzione di migrazione. Per poter usare questo metodo, il database di origine deve soddisfare i requisiti per la replica transazionale ed essere compatibile con il database SQL di Azure. Per informazioni sulla replica di SQL con i gruppi di disponibilità, vedere Configurare la replica per i gruppi di disponibilità Always On (SQL Server).

Per usare questa soluzione, è necessario configurare il database SQL di Azure come sottoscrittore dell'istanza di SQL Server di cui si vuole eseguire la migrazione. Il server di distribuzione della replica transazionale sincronizza i dati dal database da sincronizzare, ovvero il server di pubblicazione, mentre continua l'esecuzione di transazioni.

Con la replica transazionale, tutte le modifiche ai dati o allo schema vengono visualizzate nel database SQL di Azure. Quando la sincronizzazione è completata e si è pronti a eseguire la migrazione, è sufficiente modificare la stringa di connessione delle applicazioni in modo che puntino al database. Al termine dello svuotamento delle eventuali modifiche rimaste nel database di origine da parte della replica transazionale, quando tutte le applicazioni puntano al database SQL di Azure è possibile disinstallare la replica transazionale. Il database SQL di Azure è ora il sistema di produzione.

Suggerimento

È anche possibile usare la replica transazionale per eseguire la migrazione di un subset del database di origine. La pubblicazione di cui si esegue la replica nel database SQL di Azure può essere limitata a un subset delle tabelle nel database replicato. Per ogni tabella replicata, è possibile limitare i dati a un subset di righe e/o di colonne.

Flusso di lavoro di replica transazionale

Importante

Usare sempre la versione più aggiornata di SQL Server Management Studio per restare sincronizzati con gli aggiornamenti di Azure e del database SQL. Le versioni precedenti di SQL Server Management Studio non sono in grado di impostare il database SQL come sottoscrittore. Scaricare la versione più recente di SQL Server Management Studio..

Procedi metodo
Configurare la distribuzione SQL Server Management Studio | Transact-SQL
Creare la pubblicazione SQL Server Management Studio | Transact-SQL
Creazione di una sottoscrizione SQL Server Management Studio | Transact-SQL

Suggerimenti e differenze per la migrazione al database SQL

  • Usare un server di distribuzione locale
    • Questo influisce sulle prestazioni del server.
    • Se l'impatto sulle prestazioni non è accettabile, è possibile usare un altro server aumentando la complessità delle operazioni di gestione e amministrazione.
  • Quando si seleziona una cartella snapshot, assicurarsi che le dimensioni della cartella selezionata siano sufficienti a contenere un BCP di ogni tabella da replicare.
  • La creazione di snapshot consente di bloccare le tabelle associate fino al completamento; è quindi consigliabile pianificare lo snapshot in modo appropriato.
  • Nel database SQL di Azure sono supportate solo le sottoscrizioni push. È possibile aggiungere sottoscrittori unicamente dal database di origine.

Raccomandazioni sulla migrazione

Quando si esegue la migrazione al database SQL di Azure, tenere presente quanto segue:

Conflitti tra risorse Consiglio
Origine (in genere in locale) I colli di bottiglia principale durante la migrazione dall'origine sono l'I/O e la latenza del file di dati, che deve essere monitorata attentamente. In base all'I/O e alla latenza del file di dati e a seconda che si tratti di una macchina virtuale o di un server fisico, potrebbe essere necessario coinvolgere l'amministratore dell'archiviazione ed esplorare le opzioni per attenuare il collo di bottiglia.
Destinazione (database SQL di Azure) Il fattore di limitazione più importante è la velocità di generazione e la latenza dei log nel file di log del database. Con database SQL di Azure, è possibile ottenere una velocità massima di generazione del log di 96 MB/s. Per velocizzare la migrazione, aumentare le prestazioni del database SQL di Azure di destinazione a Business Critical Gen5 8 vCore per ottenere la velocità massima di generazione del log di 96 MB/s, che offre anche bassa latenza per i file di log. Il livello di servizio Hyperscale offre una frequenza di log di 100 MB/s indipendentemente dal livello di servizio scelto.
Rete La larghezza di banda di rete necessaria è uguale alla velocità massima di inserimento dei log di 96 MB/s (768 Mb/s) A seconda della connettività di rete dal data center locale ad Azure, controllare la larghezza di banda di rete (in genere Azure ExpressRoute) per soddisfare la frequenza massima di inserimento dei log.

È anche possibile prendere in considerazione queste raccomandazioni per ottenere prestazioni ottimali durante il processo di migrazione.

  • Scegliere il livello di servizio e le dimensioni di calcolo più elevati consentiti dal budget per ottimizzare le prestazioni di trasferimento. Per risparmiare, è possibile ridurre le prestazioni al termine della migrazione.
  • Ridurre al minimo la distanza tra il file BACPAC e il data center di destinazione se si usano file BACPAC.
  • Disabilitare l'aggiornamento automatico e la creazione automatica delle statistiche durante la migrazione.
  • Partizionare tabelle e indici.
  • Eliminare le viste indicizzate e ricrearle al termine.
  • Rimuovere i dati cronologici raramente sottoposti a query in un altro database ed eseguire la migrazione di tali dati in un database SQL di Azure separato. Sarà quindi possibile eseguire query sui dati cronologici usando query elastiche.

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.

Aggiornare le statistiche

Aggiornare le statistiche con un'analisi completa dopo aver completato la migrazione.

Correggere le applicazioni

Dopo la migrazione dei dati nell'ambiente di destinazione, tutte le applicazioni che in precedenza usavano l'origine devono iniziare a usare la destinazione. Per ottenere questo risultato, in alcuni casi sarà necessario apportare modifiche alle applicazioni.

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

Assicurarsi di sfruttare le funzionalità avanzate basate sul cloud offerte dal database SQL, ad esempio disponibilità elevata predefinita, rilevamento delle minacce e monitoraggio e ottimizzazione del carico di lavoro.

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

Per altre informazioni vedere Gestione del database SQL di Azure dopo la migrazione.

Risolvere i problemi di compatibilità della migrazione del database

Esiste una vasta gamma di problemi di compatibilità che possono verificarsi, a seconda della versione del server SQL del database di origine e della complessità del database verso cui si esegue la migrazione. Le versioni precedenti di SQL Server presentano più problemi di compatibilità. Oltre a una ricerca mirata su Internet tramite i propri motori di ricerca preferiti, si consiglia di usare le risorse seguenti:

Importante

Istanza gestita di database SQL consente di eseguire la migrazione di un'istanza di SQL Server esistente e dei relativi database con problemi trascurabili o addirittura nessun problema di compatibilità. Vedere Che cos'è Istanza gestita di SQL di Azure?

Passaggi successivi

Per la matrice dei servizi e degli strumenti di Microsoft e di terze parti disponibili per agevolare diversi scenari di migrazione di database e dati, nonché per attività speciali, vedere Strumenti e servizi per la migrazione dei dati.

Per altre informazioni sull'estensione Migrazione SQL di Azure, vedere:

Per altre informazioni su Azure Migrate, vedere:

Per altre informazioni sul database SQL, vedere:

Per altre informazioni sul framework e sul ciclo di adozione per le migrazioni cloud, vedere:

Per valutare il livello di accesso all'applicazione, vedere Data Access Migration Toolkit (anteprima).

Per informazioni dettagliate su come eseguire test A/B del livello di accesso ai dati, vedere Database Experimentation Assistant.