Esercitazione: eseguire la migrazione di SQL Server a database SQL di Azure (offline)

È possibile usare il Servizio Migrazione del database di Azure tramite l'estensione Migrazione Azure SQL per Azure Data Studio o il portale di Azure per migrare i database da un'istanza locale di SQL Server al database SQL di Azure (offline).

In questa esercitazione, scoprirai come migrare il database di esempio AdventureWorks2022 da un'istanza di SQL Server locale a un'istanza del database SQL di Azure, utilizzando il Servizio Migrazione del database. Questa esercitazione usa la modalità di migrazione offline, che considera un tempo inattivo accettabile durante il processo di migrazione.

In questa esercitazione apprenderai a:

  • Aprire la procedura guidata Migrazione ad Azure SQL in Azure Data Studio
  • Eseguire una valutazione dei database SQL Server di origine
  • Raccogliere dati sulle prestazioni dall'istanza di SQL Server di origine
  • Ottenere la raccomandazione dello SKU del database SQL di Azure più adeguata al carico di lavoro
  • Creare un'istanza del Servizio Migrazione del database di Azure
  • Avviare la migrazione e monitorare lo stato di avanzamento fino al completamento

Suggerimento

Nel Servizio Migrazione del database di Azure è possibile eseguire la migrazione dei database offline o mentre sono online. In una migrazione offline, i tempi di inattività dell’applicazione iniziano all’avvio della migrazione. Per limitare il tempo di inattività al tempo necessario per passare al nuovo ambiente dopo la migrazione, usare una migrazione online. È consigliabile testare una migrazione offline per determinare se il tempo di inattività è accettabile. Se il tempo di inattività previsto non è accettabile, eseguire una migrazione online.

Importante

Attualmente, le migrazioni online per destinazioni database SQL di Azure non sono disponibili.

Opzioni di migrazione

La sezione seguente descrive come usare il Servizio Migrazione del database di Azure con l'estensione Migrazione Azure SQL o nel portale di Azure.

Prerequisiti

Prima di iniziare l'esercitazione:

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

    • Collaboratore per l'istanza di destinazione del database SQL di Azure
    • Ruolo Lettore per il gruppo di risorse di Azure che contiene l'istanza di destinazione del database SQL di Azure
    • Ruolo Proprietario o Collaboratore per la sottoscrizione di Azure (obbligatorio se si crea una nuova istanza del Servizio Migrazione del database di Azure)

    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 del database SQL di Azure.

  • Assicurarsi che l'account di accesso di SQL Server che si connette all'istanza di SQL Server di origine sia membro del ruolo db_datareader e che l'account di accesso per l'istanza di SQL Server di destinazione sia membro del ruolo db_owner.

  • Per eseguire la migrazione dello schema del database dall'origine all’Azure SQL DB di destinazione utilizzando il Servizio Migrazione del database, la versione minima supportata di SHIR richiesta è la 5.37 o successiva.

  • Se si usa Servizio Migrazione del database per la prima volta, assicurarsi che il provider di risorse Microsoft.DataMigration sia registrato nella sottoscrizione.

Nota

È ora possibile eseguire la migrazione dello schema e dei dati del database usando il Servizio Migrazione del database. È anche possibile usare strumenti come l'estensione dacpac di SQL Server o l'estensione progetto di database SQL in Azure Data Studio per eseguire la migrazione dello schema prima di selezionare l'elenco di tabelle di cui eseguire la migrazione.

Se non esiste alcuna tabella nella destinazione database SQL di Azure o non sono selezionate tabelle prima di avviare la migrazione, il pulsante Avanti non è disponibile per selezionare per avviare il task di migrazione. Se non esiste alcuna tabella nella destinazione, è necessario selezionare l'opzione Migrazione dello schema per procedere.

Aprire la procedura guidata Migrazione ad Azure SQL in Azure Data Studio

Per aprire la procedura guidata Migrazione ad Azure SQL:

  1. In Azure Data Studio, passare a Connessioni. Selezionare e connettersi all'istanza locale di SQL Server. È possibile anche connettersi a SQL Server in una macchina virtuale di Azure.

  2. Fare clic con il pulsante destro del mouse sulla connessione del server e selezionare Gestisci.

    Screenshot che mostra una connessione al server e l'opzione Gestisci in Azure Data Studio.

  3. Nel menu del server, in Generale selezionare Migrazione Azure SQL.

    Screenshot che mostra il menu del server di Azure Data Studio.

  4. Nel dashboard di Migrazione Azure SQL, selezionare Migrazione ad Azure SQL per aprire la procedura guidata per la migrazione.

    Screenshot che mostra la procedura guidata Migrazione ad Azure SQL.

  5. Nella prima pagina della procedura guidata, avviare una nuova sessione o riavviare una sessione salvata in precedenza.

Eseguire la valutazione del database, raccogliere dati sulle prestazioni e ottenere raccomandazioni di Azure

  1. Nel passaggio 1: Database per la valutazione nella procedura guidata Migrazione ad Azure SQL, selezionare i database da valutare. Quindi seleziona Avanti.

    Screenshot che mostra la selezione di un database per la valutazione.

  2. Nel passaggio 2: Risultati e consigli della valutazione, completare i passaggi seguenti:

    1. In Scegli la destinazione Azure SQL selezionare database SQL di Azure.

      Schermata che mostra la selezione del database SQL di Azure di destinazione.

    2. Selezionare Visualizza/Seleziona per visualizzare i risultati della valutazione.

      Screenshot che mostra la visualizzazione/selezione dei risultati della valutazione.

    3. Nei risultati della valutazione, selezionare il database e quindi esaminare il report di valutazione per assicurarsi che non siano stati trovati problemi.

      Screenshot che mostra il report della valutazione.

    4. Selezionare Ottieni raccomandazione di Azure per aprire il riquadro raccomandazioni.

      Screenshot che mostra le raccomandazioni di Azure.

    5. Selezionare Raccogli dati sulle prestazioni ora.. Nel computer locale, selezionare una cartella in cui archiviare i log di prestazioni, quindi selezionare Avvia.

      Screenshot che mostra la raccolta dei dati sulle prestazioni.

      Azure Data Studio raccoglie i dati sulle prestazioni fino a quando non si arresta la raccolta dati o si chiude Azure Data Studio.

      Dopo 10 minuti, Azure Data Studio indica che è disponibile una raccomandazione per database SQL di Azure. Dopo aver generato la prima raccomandazione, è possibile selezionare Riavvia raccolta dati per continuare il processo di raccolta dati e affinare la raccomandazione SKU. La valutazione estesa è particolarmente utile se i modelli di utilizzo variano nel tempo.

      Screenshot che mostra i dati sulle prestazioni raccolti.

    6. Nella destinazione selezionata database SQL di Azure, selezionare Visualizza dettagli per aprire il report dettagliato sulle raccomandazioni SKU:

      Screenshot che mostra il collegamento Visualizza dettagli per le raccomandazioni del database di destinazione.

    7. In Esamina le raccomandazioni per il database SQL di Azure, esaminare la raccomandazione. Per salvare una copia della raccomandazione, selezionare Salva report di raccomandazione.

      Screenshot che mostra i dettagli della raccomandazione SKU.

  3. Selezionare Chiudi per chiudere il riquadro della raccomandazione.

  4. Selezionare Avanti per continuare la migrazione del database nella procedura guidata.

Configurare le impostazioni di migrazione

  1. Nel passaggio 3: Azure SQL di destinazione, nella procedura guidata Migrazione ad Azure SQL, completare questi passaggi per l'istanza del database SQL di Azure di destinazione:

    1. Selezionare l'account Azure, la sottoscrizione di Azure, l'area o la posizione di Azure e il gruppo di risorse che contiene la distribuzione del database SQL di Azure.

      Screenshot che mostra i dettagli dell'account Azure.

    2. Per server di database SQL di Azure selezionare il server database SQL di Azure di destinazione (server logico). Inserire un nome utente e una password per la distribuzione del database di destinazione. Selezionare Connect (Connetti). Inserire le credenziali per verificare la connettività al database di destinazione.

      Screenshot che mostra i dettagli del database SQL di Azure.

    3. Quindi, eseguire il mapping del database di origine e di quello di destinazione per la migrazione. Come database di destinazione, selezionare la destinazione database SQL di Azure. Quindi, selezionare Avanti per andare al passaggio successivo della procedura guidata per la migrazione.

      Screenshot che mostra il mapping di origine e destinazione.

  2. Nel passaggio 4: Modalità di migrazione, selezionare Migrazione offline e quindi selezionare Avanti.

    Screenshot che mostra la selezione delle migrazioni offline.

  3. Nel passaggio 5: Configurazione dell'origine dati, completare i passaggi seguenti:

    1. In Credenziali di origine, immettere le credenziali dell’SQL Server di origine.

    2. In Seleziona tabelle, selezionare l'icona a forma di matita Modifica.

      Screenshot che mostra le credenziali dell’SQL Server di origine.

    3. In Seleziona tabelle per <database-name>, selezionare le tabelle di cui eseguire la migrazione alla destinazione. La colonna Contiene righe indica se la tabella di destinazione contenga righe nel database di destinazione. È possibile selezionare uno o più tabelle. Selezionare Aggiorna.

      Prima di avviare la migrazione, è possibile aggiornare l'elenco delle tabelle selezionate in qualsiasi momento.

      Nell'esempio seguente viene applicato un filtro di testo per selezionare le tabelle che contengono la parola Employee. Selezionare un elenco di tabelle in base alle esigenze di migrazione.

      Screenshot che mostra la selezione della tabella.

  4. Esaminare le selezioni della tabella e quindi selezionare Avanti per passare al passaggio successivo della procedura guidata per la migrazione.

    Screenshot che mostra le tabelle selezionate di cui eseguire la migrazione.

Nota

Se non sono selezionate tabelle o se non viene immesso un nome utente e una password, il pulsante Avanti non è disponibile per la selezione.

È ora possibile eseguire la migrazione dello schema e dei dati del database usando il Servizio Migrazione del database. È anche possibile usare strumenti come l'estensione dacpac di SQL Server o l'estensione progetto di database SQL in Azure Data Studio per eseguire la migrazione dello schema prima di selezionare l'elenco di tabelle di cui eseguire la migrazione.

Creare l'istanza del Servizio Migrazione del database

Nel passaggio 6: Servizio Migrazione del database di Azure nella procedura guidata Migrazione a SQL di Azure, creare una nuova istanza del Servizio Migrazione del database o riutilizzare un'istanza esistente creata in precedenza.

Nota

Se in precedenza è stata creata un'istanza di Servizio Migrazione del database usando il portale di Azure, non è possibile riutilizzare l'istanza nella procedura guidata di migrazione in Azure Data Studio. È possibile riutilizzare un'istanza solo se è stata creata usando Azure Data Studio.

Usare un'istanza esistente del Servizio Migrazione del database

Per usare un'istanza esistente di Servizio Migrazione del database:

  1. In Gruppo di risorse, selezionare il gruppo di risorse che contiene un'istanza esistente di Servizio Migrazione del database.

  2. In Servizio Migrazione del database di Azure selezionare un'istanza esistente del Servizio Migrazione del database nel gruppo di risorse selezionato.

  3. Selezionare Avanti.

    Screenshot che mostra la selezione del Servizio Migrazione del database.

Creare una nuova istanza del Servizio Migrazione del database

Per crere una nuova istanza del Servizio Migrazione del database:

  1. In Gruppo di risorse, creare un nuovo gruppo di risorse che possa contenere una nuova istanza di Servizio Migrazione del database.

  2. In Servizio Migrazione del database di Azure, selezionare Crea.

  3. In Crea Servizio Migrazione del database di Azure immettere un nome per l'istanza di Servizio Migrazione del database e quindi selezionare Crea.

  4. In Configura runtime di integrazione, completare i passaggi seguenti:

    1. Selezionare il collegamento Scarica e installa runtime di integrazione per aprire il collegamento di download in un Web browser. Scaricare il runtime di integrazione e quindi installarlo in un computer che soddisfi i prerequisiti per la connessione all'istanza di SQL Server di origine.

      Screenshot che mostra il collegamento Scaricare e installare il runtime di integrazione.

      Al termine dell'installazione, viene aperto automaticamente il Microsoft Integration Runtime Configuration Manager per avviare il processo di registrazione.

    2. Nella tabella Chiave di autenticazione, copiare una delle chiavi di autenticazione fornite nella procedura guidata e incollarla in Azure Data Studio.

      Screenshot che evidenzia la tabella della chiave di autenticazione nella procedura guidata.

      Se la chiave di autenticazione è valida, viene visualizzata un'icona di spunta verde nel runtime di integrazione Configuration Manager. Un segno di spunta verde indica che è possibile procedere alla Registrazione.

      Dopo aver registrato il runtime di integrazione self-hosted, chiudere Microsoft Integration Runtime Configuration Manager.

      Nota

      Per altre informazioni sul runtime di integrazione self-hosted, vedere Creare e configurare il runtime di integrazione self-hosted.

  5. In Crea Servizio Migrazione del database di Azure in Azure Data Studio selezionare Connessione di test per verificare che l'istanza di Servizio Migrazione del database appena creata sia connessa al runtime di integrazione self-hosted appena registrato.

    Screenshot che mostra la pagina Connettività IR.

  6. Tornare alla procedura guidata per la migrazione in Azure Data Studio.

Avviare la migrazione del database

Nel passaggio 7: Riepilogo della procedura guidata Migrazione ad Azure SQL, esaminare la configurazione creata e quindi selezionare Avvia migrazione per avviare la migrazione del database.

Screenshot che mostra come avviare la migrazione.

Monitorare la migrazione del database

  1. In Azure Data Studio, nel menu del server sotto Generale, selezionare Migrazione SQL di Azure per passare al dashboard per le migrazioni del database SQL di Azure.

    In Stato migrazione del database è possibile tenere traccia delle migrazioni in corso, completate e non riuscite (se presenti) oppure visualizzare tutte le migrazioni di database.

    Screenshot che mostra il dashboard di monitoraggio della migrazione.

  2. Selezionare Migrazioni di database in corso per visualizzare le migrazioni attive.

    Per ottenere altre informazioni su una migrazione specifica, selezionare il nome del database.

    Screenshot che mostra il report di migrazione del database.

    Il Servizio Migrazione del database restituisce lo stato di migrazione noto più recente ogni volta che lo stato della migrazione viene aggiornato. La tabella seguente descrive i possibili stati:

    Stato Descrizione
    Preparazione per la copia Il servizio sta disabilitando le statistiche automatiche, i trigger e gli indici nella tabella di destinazione.
    Copia I dati vengono copiati dal database di origine a quello di destinazione.
    Copia completata La copia dei dati è stata completata. Il servizio è in attesa di altre tabelle per completare la copia e iniziare i passaggi finali per restituire le tabelle allo schema originale.
    Ricompilazione degli indici Il servizio sta ricompilando gli indici nelle tabelle di destinazione.
    Completato Tutti i dati sono stao copiati e gli indici ricompilati.
  3. Controllare la pagina dei dettagli della migrazione per visualizzare lo stato corrente per ciascun database.

    Di seguito è riportato un esempio della migrazione del database AdventureWorks2022 nello stato Creazione in corso:

    Screenshot che mostra uno stato di creazione in corso della migrazione.

  4. Nella barra dei menu selezionare Aggiorna per aggiornare lo stato della migrazione.

    Dopo l'aggiornamento dello stato della migrazione, lo stato aggiornato per la migrazione del database di esempio AdventureWorks2022 è In corso:

    Screenshot che mostra uno stato di migrazione in corso.

  5. Selezionare un nome di database per aprire la vista tabella. In questa vista viene visualizzato lo stato corrente della migrazione, il numero di tabelle attualmente in tale stato e lo stato dettagliato di ogni tabella.

    Screenshot che mostra il monitoraggio della migrazione della tabella.

    Quando viene eseguita la migrazione di tutti i dati della tabella alla destinazione database SQL di Azure, il Servizio Migrazione del database aggiorna lo stato della migrazione da In corso a Operazione completata.

    Screenshot che mostra la migrazione completata.

Nota

Il Servizio Migrazione del database ottimizza la migrazione ignorando le tabelle senza dati (0 righe). Le tabelle che non contengono dati non vengono visualizzate nell'elenco, anche se vengono selezionate durante la creazione della migrazione.

La migrazione al database SQL di Azure è completata. È consigliabile eseguire una serie di task post-migrazione per assicurarsi che tutto funzioni in modo uniforme ed efficiente.

Importante

Assicurarsi di sfruttare le caratteristiche avanzate basate sul cloud del database SQL di Azure. Le caratteristiche includono disponibilità elevata predefinita, rilevamento delle minacce e monitoraggio e ottimizzazione del carico di lavoro.

Limiti

La migrazione offline di Azure SQL Database utilizza le pipeline di Azure Data Factory (ADF) per lo spostamento dei dati e quindi rispetta le limitazioni di Azure Data Factory. Quando viene creato anche un servizio di migrazione del database, viene creato un Azure Data Factory corrispondente. Di conseguenza, i limiti di factory si applicano per servizio.

  • Il computer in cui è installato SHIR funge da calcolo per la migrazione. Assicurarsi che questo computer possa gestire il carico di cpu e memoria della copia dei dati. Per altre informazioni, consultare Creare e configurare un runtime di integrazione self-hosted.
  • 100.000 tabelle per limite di database.
  • 10.000 migrazioni simultanee di database per servizio.
  • La velocità di migrazione dipende in larga parte dall'SKU del database SQL di Azure di destinazione e dall'host del runtime di integrazione self-hosted.
  • Nel database SQL di Azure, la migrazione si dimensiona in modo non appropriato con i numeri di tabella a causa del sovraccarico di Azure Data Factory nelle attività iniziali. Se un database ha migliaia di tabelle, il processo di avvio di ciascuna tabella potrebbe richiedere un paio di secondi, anche se sono composti da una riga con 1 bit di dati.
  • Il database SQL di Azure non supporta la migrazione di nomi di tabella contenenti caratteri a byte doppio. La mitigazione consiste nel rinominare le tabelle prima della migrazione; possono essere nuovamente modificate con i nomi originali a migrazione correttamente avvenuta.
  • Le tabelle con colonne BLOB di grandi dimensioni possono non riuscire nella migrazione a causa del timeout.
  • I nomi di database con SQL Server prenotati non sono attualmente supportati.
  • I nomi di database che includono punti e virgola non sono attualmente supportati.
  • Le colonne calcolate non vengono migrate.