Eseguire la migrazione dei database tramite l'estensione Azure SQL Migration per Azure Data Studio

Informazioni su come usare l'esperienza unificata nell'estensione Migrazione Azure SQL per Azure Data Studio. Consente di valutare i requisiti del database, ottenere i consigli per gli SKU di dimensioni appropriate per le risorse di Azure ed eseguire la migrazione del database di SQL Server ad Azure.

L’estensione di migrazione di Azure SQL per Azure Data Studio offre questi vantaggi chiave:

  • Interfaccia utente reattiva per un'esperienza di migrazione end-to-end. L'estensione inizia con una valutazione dell'idoneità per la migrazione e una raccomandazione SKU (anteprima) (in base ai dati sulle prestazioni).

  • Meccanismo di valutazione avanzato che può valutare le istanze di SQL Server. L'estensione identifica i database pronti per la migrazione alle destinazioni Azure SQL.

    Nota

    È possibile usare l'estensione Migrazione Azure SQL per valutare i database di SQL Server in esecuzione in Windows o Linux.

  • Un motore di raccomandazione SKU che raccoglie i dati sulle prestazioni dall'istanza di SQL Server di origine locale e quindi genera raccomandazioni sullo SKU di dimensioni corrette in base alla destinazione SQL di Azure.

  • Un servizio di Azure affidabile basato sul servizio di migrazione del database di Azure che orchestra le attività di spostamento dati per offrire un'esperienza di migrazione senza problemi.

  • È possibile eseguire migrazioni online (per le migrazioni che comportano tempi di inattività minimi) o offline (per le migrazioni in cui il tempo di inattività persiste per tutta la migrazione) per soddisfare i requisiti aziendali.

  • Possono anche configurare un runtime di integrazione self-hosted per usare risorse di calcolo proprie per accedere ai file di backup dall'istanza di SQL Server di origine nell'ambiente locale.

  • Offre anche un'esperienza utente sicura e migliorata per la migrazione di database TDE e account di accesso di SQL/Windows ad Azure SQL.

Per informazioni su scenari di migrazione specifici e destinazioni SQL di Azure, vedere l'elenco delle esercitazioni nella tabella seguente:

Scenario di migrazione Modalità di migrazione
Da SQL Server a Istanza gestita di SQL di Azure Online / Offline
Da SQL Server a SQL Server in una macchina virtuale di Azure Online / Offline
Da SQL Server al database SQL di Azure Offline

Importante

Se la destinazione è il Database SQL di Azure, è possibile eseguire la migrazione dello schema e dei dati del database usando il Servizio Migrazione del database tramite il portale di Azure. È anche possibile usare strumenti come l'estensione dacpac di SQL Server o l'estensione progetto di database SQL in Azure Data Studio per implementare lo schema del database prima di eseguire la migrazione.

Il video seguente illustra gli aggiornamenti e le funzionalità recenti aggiunti all'estensione Migrazione SQL di Azure per Azure Data Studio:


Architettura dell'estensione di migrazione di Azure SQL per Azure Data Studio

Servizio Migrazione del database di Azure è un componente di base dell'architettura dell'estensione Migrazione di Azure SQL. Il Servizio Migrazione del database offre un agente di orchestrazione di migrazione affidabile per supportare le migrazioni di database ad Azure SQL. È possibile creare un'istanza di Servizio Migrazione del database o usare un'istanza esistente usando l'estensione Migrazione di Azure SQL in Azure Data Studio.

Il Servizio Migrazione del database usa il runtime di integrazione self-hosted di Azure Data Factory per accedere e caricare file di backup validi dalla condivisione di rete locale o dall'account di archiviazione di Azure.

Il flusso di lavoro del processo di migrazione è illustrato nel seguente diagramma:

Diagramma che mostra l'architettura dell'estensione Migrazione SQL di Azure.

L'elenco seguente descrive tutti i passaggi del workflow:

  1. SQL Server di origine: istanza locale di SQL Server che si trova in un cloud privato o in un'istanza di SQL Server in una macchina virtuale in un cloud pubblico. È supportato SQL Server 2008 e versioni successive su Windows o Linux.

  2. Azure SQL di destinazione: le destinazioni Azure SQL supportate sono Istanza gestita di SQL di Azure, SQL Server in Macchine virtuali di Azure (registrato con l'infrastruttura SQL come estensione del servizio in modalità di gestione completa) e database SQL di Azure.

  3. Condivisione file di rete: una condivisione file di rete Server Message Block (SMB) in cui vengono archiviati i file di backup per i database di cui eseguire la migrazione. Sono supportati anche i contenitori BLOB di archiviazione di Azure e la condivisione file di archiviazione di Azure.

  4. Azure Data Studio: scaricare e installare l'estensione di Migrazione Azure SQL.

  5. Servizio Migrazione del database di Azure: un servizio di Azure che orchestra le pipeline di migrazione per eseguire attività di spostamento dei dati da un ambiente locale ad Azure. Il Servizio Migrazione del database è associato al runtime di integrazione self-hosted di Azure Data Factory e offre la possibilità di registrare e monitorare il runtime di integrazione self-hosted.

  6. Runtime di integrazione self-hosted: installare un runtime di integrazione self-hosted in un computer in grado di connettersi all'istanza di SQL Server di origine e alla posizione del file di backup. Il Servizio Migrazione del database fornisce le chiavi di autenticazione e registra il runtime di integrazione self-hosted.

  7. Caricamento dei file di backup nell'account di archiviazione di Azure: il Servizio Migrazione del database usa un runtime di integrazione self-hosted per caricare file di backup validi dalla posizione di backup locale all'account di archiviazione di Azure. Le attività e le pipeline di spostamento dei dati vengono create automaticamente nel workflow di migrazione per caricare i file di backup.

  8. Ripristinare i backup in Azure SQL di destinazione: il Servizio Migrazione del database ripristina i file di backup dall'account di archiviazione di Azure all'istanza Azure SQL di destinazione supportata.

Nota

Se la destinazione di migrazione è database SQL di Azure, non sono necessari backup per questa migrazione. La migrazione del database a database SQL di Azure viene considerata una migrazione logica che comporta la creazione preventiva e lo spostamento dei dati del database (eseguito dal Servizio Migrazione del database).

L'estensione Migrazione di Azure SQL per Azure Data Studio non esegue backup del database, né avvia backup del database per conto dell'utente. Il servizio utilizza invece i file di backup del database esistente per la migrazione.

In modalità di migrazione online, il Servizio Migrazione del database carica continuamente i file di origine del backup nell'account di archiviazione di Azure e li ripristina nella destinazione fino a quando non si completa il passaggio finale di esecuzione del cutover alla destinazione.

In modalità di migrazione offline, il Servizio Migrazione del database carica i file di origine del backup in Archiviazione di Azure e li ripristina nella destinazione senza richiedere un cutover.

Prerequisiti

Le sezioni seguenti illustrano i prerequisiti per ogni destinazione Azure SQL supportata.

  • Scaricare e installare Azure Data Studio.

  • Installare l'estensione di Migrazione Azure SQL dal Marketplace Azure Data Studio.

  • Assicurarsi che un account Azure sia assegnato a uno dei ruoli predefiniti seguenti:

    • Il Collaboratore per l'istanza gestita di SQL di Azure di destinazione e per l'account di archiviazione in cui caricare i file di backup del database da una condivisione di rete Server Message Block (SMB)
    • Ruolo di Lettore per i gruppi di risorse di Azure contenenti l'istanza gestita di SQL di Azure di destinazione o l'account di archiviazione di Azure
    • Ruolo Proprietario o Collaboratore per la sottoscrizione di Azure (obbligatorio se si crea una nuova istanza del Servizio Migrazione del database)

    In alternativa all'uso di uno di questi ruoli predefiniti, è possibile assegnare un ruolo personalizzato.

    Importante

    Un account Azure è necessario solo quando si configurano i passaggi di migrazione. Non è necessario un account Azure per la valutazione o per visualizzare le raccomandazioni di Azure nella procedura guidata per la migrazione in Azure Data Studio.

  • Creare un’istanza di destinazione di Istanza gestita di SQL di Azure.

  • Assicurarsi che gli accessi utilizzati per connettersi all'istanza di SQL Server di origine siano membri del ruolo server SYSADMIN o abbiano l'autorizzazione CONTROL SERVER.

  • Fornire una condivisione di rete SMB, una condivisione file dell'account di archiviazione Azure o un contenitore BLOB dell'account di archiviazione Azure che contenga i file di backup del database completo e i successivi file di backup del registro delle transazioni. Il Servizio Migrazione del database usa il percorso di backup durante la migrazione del database.

    Importante

    • L'estensione Migrazione di Azure SQL per Azure Data Studio non esegue backup del database, né avvia backup del database per conto dell'utente. Il servizio utilizza invece i file di backup del database esistente per la migrazione.
    • Se i file di backup del database si trovano in una condivisione di rete SMB, creare un account di archiviazione di Azure sui quali il Servizio Migrazione del database possa caricare i file di backup del database e che possa usare per eseguire la migrazione dei database. Assicurarsi di creare l'account di archiviazione Azure nella stessa area in cui è stata creata l'istanza del Servizio migrazione del database.
    • Ciascun backup può essere scritto in un file di backup separato o in più file di backup. Accodare più backup, ad esempio quelli completi e del log delle transazioni, in un singolo supporto di backup non è supportato.
    • È possibile usare backup compressi per ridurre la probabilità di potenziali problemi associati alla migrazione di backup di grandi dimensioni.
  • Assicurarsi che l'account di servizio che esegue l'istanza di SQL Server di origine abbia le autorizzazioni di lettura e scrittura sulla condivisione di rete SMB che contiene i file di backup del database.

  • Se si esegue la migrazione di un database protetto da Transparent Data Encryption (TDE), il certificato dell'istanza di SQL Server di origine deve essere migrato all'istanza gestita di destinazione prima di ripristinare il database. Per altre informazioni sulla migrazione di database abilitati per TDE, vedere Esercitazione: eseguire la migrazione di database abilitati per TDE (anteprima) ad Azure SQL in Azure Data Studio.

    Suggerimento

    Se il database contiene dati sensibili protetti da Always Encrypted, il processo di migrazione esegue automaticamente la migrazione delle chiavi Always Encrypted all'istanza gestita di destinazione.

  • Se i backup del database si trovano in una condivisione file di rete, specificare un computer in cui è possibile installare un runtime di integrazione self-hosted per accedere ed eseguire la migrazione dei backup del database. La procedura guidata per la migrazione fornisce il collegamento di download e le chiavi di autenticazione per scaricare e installare il runtime di integrazione self-hosted.

    Durante la preparazione per la migrazione, verificare che nel computer in cui si installa il runtime di integrazione self-hosted siano abilitate le regole del firewall in uscita e i nomi di dominio seguenti:

    Nomi di dominio Porta in uscita Descrizione
    Cloud pubblico: {datafactory}.{region}.datafactory.azure.net
    oppure *.frontend.clouddatahub.net

    Azure per enti pubblici: {datafactory}.{region}.datafactory.azure.us

    Microsoft Azure gestito da 21Vianet: {datafactory}.{region}.datafactory.azure.cn
    443 Richiesta dal runtime di integrazione self-hosted per connettersi al Servizio Migrazione del database.

    Per una data factory appena creata in un cloud pubblico, individuare il nome di dominio completo (FQDN) dalla chiave di runtime di integrazione self-hosted nel formato {datafactory}.{region}.datafactory.azure.net.

    Per una data factory esistente, se non viene visualizzato il nome di dominio completo nella chiave di integrazione self-hosted, invece usare *.frontend.clouddatahub.net.
    download.microsoft.com 443 Richiesta dal runtime di integrazione self-hosted per il download degli aggiornamenti. Se l'aggiornamento automatico è stato disabilitato, è possibile evitare di configurare questo dominio.
    *.core.windows.net 443 Viene usato dal runtime di integrazione self-hosted che si connette all'account di archiviazione di Azure per caricare i backup del database dalla condivisione di rete

    Suggerimento

    Se i file di backup del database sono già disponibili in un account di archiviazione di Azure, durante il processo di migrazione non è necessario un runtime di integrazione self-hosted.

  • Se si usa un runtime di integrazione self-hosted, assicurarsi che il computer in cui è installato il runtime possa connettersi all'istanza di SQL Server di origine e alla condivisione file di rete in cui si trovano i file di backup.

  • Abilitare la porta in uscita 445 per consentire l'accesso alla condivisione dei file di rete. Per altre informazioni, vedere gli Articoli consigliati per il runtime di integrazione self-hosted.

  • Se si usa il Servizio Migrazione del database per la prima volta, assicurarsi che il provider di risorse Microsoft.DataMigration sia registrato nella sottoscrizione. È possibile completare i passaggi seguenti per registrare il provider di risorse.

Consigli per l'uso di un runtime di integrazione self-hosted per le migrazioni di database

  • Usare un singolo runtime di integrazione self-hosted per più origini dati SQL Server.

  • Installare una sola istanza di un runtime di integrazione self-hosted su ciascun computer.

  • Associare un solo runtime di integrazione self-hosted a un'istanza del Servizio Migrazione del database.

  • Il runtime di integrazione self-hosted usa risorse (memoria e CPU) nel computer in cui è installato. Installare il runtime di integrazione self-hosted in un computer separato dall'istanza di SQL Server di origine. Ma i due computer dovrebbero trovarsi molto vicini tra loro. Se il runtime di integrazione self-hosted è vicino all'origine dati, il tempo necessario per la connessione a quest'ultima è minore.

  • Usare il runtime di integrazione self-hosted solo quando si dispone dei backup del database in una condivisione di rete SMB locale. Un runtime di integrazione self-hosted non è necessario per le migrazioni di database se i backup del database di origine sono già presenti nel contenitore BLOB di archiviazione.

  • È consigliabile eseguire fino a 10 migrazioni di database simultanee per ogni runtime di integrazione self-hosted in un singolo computer. Per aumentare il numero di migrazioni di database simultanee, aumentare il runtime self-hosted fino a quattro nodi o creare istanze separate del runtime di integrazione self-hosted su computer diversi.

  • Configurare il runtime di integrazione self-hosted per l'aggiornamento automatico e applicare automaticamente eventuali nuove funzionalità, correzioni di bug e miglioramenti rilasciati. Per altre informazioni, vedere Aggiornamento automatico del runtime di integrazione self-hosted.

Monitorare lo stato della migrazione del database nel portale di Azure

L'estensione Migrazione Azure SQL per Azure Data Studio orchestra tutte le attività di migrazione tramite il Servizio Migrazione del database selezionato nella migrazione guidata durante la migrazione dei database.

Per monitorare le migrazioni di database nel portale di Azure:

  1. Nel portale di Azure, cercare l'istanza del Servizio Migrazione del database usando il nome della risorsa.

    Screenshot che mostra come cercare il nome della risorsa nel portale di Azure.

  2. Nella panoramica dell'istanza del Servizio Migrazione del database selezionare Monitoraggio delle migrazioni per visualizzare i dettagli delle migrazioni del database.

    Screenshot che mostra come monitorare le migrazioni nel portale di Azure.

Problemi noti e limitazioni

  • Il Servizio Migrazione del database non supporta la sovrascrittura dei database esistenti nell'istanza di destinazione di Istanza gestita di SQL di Azure, database SQL di Azure o SQL Server nelle macchine virtuali di Azure.

  • Il Servizio Migrazione del database non supporta la configurazione della disponibilità elevata e del ripristino di emergenza nella destinazione in modo che corrisponda alla topologia di origine.

  • Gli oggetti server seguenti non sono supportati:

    • SQL Server Agent - processi
    • Credenziali
    • pacchetti di SQL Server Integration Services
    • Controllo server

    Per un elenco completo dei metadati e degli oggetti server da spostare, fare riferimento alle informazioni dettagliate disponibili in Gestire i metadati quando si rende disponibile un database in un altro server.

  • SQL Server 2008 e versioni successive come versioni di destinazione non è supportato durante la migrazione a SQL Server nelle macchine virtuali di Azure.

  • Se si usa SQL Server 2014 o SQL Server 2012, è necessario archiviare i file di backup del database di origine in un contenitore BLOB del servizio di archiviazione di Azure, anziché utilizzare l'opzione di condivisione di rete. Archiviare i file di backup come BLOB di pagine. I BLOB in blocchi sono supportati solo in SQL Server 2016 e versioni successive.

  • Non è possibile usare un runtime di integrazione self-hosted esistente creato da Azure Data Factory per le migrazioni di database con il Servizio Migrazione del database. Inizialmente, creare il runtime di integrazione self-hosted utilizzando l'estensione di migrazione Azure SQL per Azure Data Studio. È possibile riutilizzare il runtime di integrazione self-hosted nelle future migrazioni di database.

  • Azure Data Studio supporta attualmente sia Microsoft Entra ID/autenticazione di Windows che account di accesso SQL per la connessione all'istanza di SQL Server di origine. Per le destinazioni Azure SQL, sono supportati solo gli account di accesso SQL.

Prezzi

  • Il Servizio Migrazione del database di Azure può essere utilizzato gratuitamente con l'estensione di migrazione Azure SQL per Azure Data Studio. È possibile eseguire la migrazione di più database di SQL Server usando il Servizio Migrazione del database senza costi aggiuntivi.

  • Quando si esegue la migrazione dei database da un ambiente locale ad Azure, non vengono valutati costi di spostamento o ingresso dei dati. Se il database di origine viene spostato da un'altra area o da una macchina virtuale di Azure, è possibile che vengano addebitati costi di larghezza di banda a seconda del provider di larghezza di banda e dello scenario di pianificazione percorso.

  • Usare una macchina virtuale o un server locale per installare Azure Data Studio.

  • È necessario un runtime di integrazione self-hosted per accedere ai backup del database dalla condivisione di rete locale.

Aree di disponibilità

Per l'elenco delle aree di Azure che supportano le migrazioni di database usando l'estensione Migrazione SQL di Azure per Azure Data Studio (con tecnologia Servizio Migrazione del database di Azure), vedere Prodotti Azure disponibili in base all'area.