Esercitazione: eseguire la migrazione di SQL Server a database SQL di Azure (offline)
Articolo
È 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.
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)
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.
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:
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.
Fare clic con il pulsante destro del mouse sulla connessione del server e selezionare Gestisci.
Nel menu del server, in Generale selezionare Migrazione Azure SQL.
Nel dashboard di Migrazione Azure SQL, selezionare Migrazione ad Azure SQL per aprire la procedura guidata per la migrazione.
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
Nel passaggio 1: Database per la valutazione nella procedura guidata Migrazione ad Azure SQL, selezionare i database da valutare. Quindi seleziona Avanti.
Nel passaggio 2: Risultati e consigli della valutazione, completare i passaggi seguenti:
In Scegli la destinazione Azure SQL selezionare database SQL di Azure.
Selezionare Visualizza/Seleziona per visualizzare i risultati della valutazione.
Nei risultati della valutazione, selezionare il database e quindi esaminare il report di valutazione per assicurarsi che non siano stati trovati problemi.
Selezionare Ottieni raccomandazione di Azure per aprire il riquadro raccomandazioni.
Selezionare Raccogli dati sulle prestazioni ora.. Nel computer locale, selezionare una cartella in cui archiviare i log di prestazioni, quindi selezionare Avvia.
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.
Nella destinazione selezionata database SQL di Azure, selezionare Visualizza dettagli per aprire il report dettagliato sulle raccomandazioni SKU:
In Esamina le raccomandazioni per il database SQL di Azure, esaminare la raccomandazione. Per salvare una copia della raccomandazione, selezionare Salva report di raccomandazione.
Selezionare Chiudi per chiudere il riquadro della raccomandazione.
Selezionare Avanti per continuare la migrazione del database nella procedura guidata.
Configurare le impostazioni di migrazione
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:
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.
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.
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.
Nel passaggio 4: Modalità di migrazione, selezionare Migrazione offline e quindi selezionare Avanti.
Nel passaggio 5: Configurazione dell'origine dati, completare i passaggi seguenti:
In Credenziali di origine, immettere le credenziali dell’SQL Server di origine.
In Seleziona tabelle, selezionare l'icona a forma di matita Modifica.
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.
Esaminare le selezioni della tabella e quindi selezionare Avanti per passare al passaggio successivo della procedura guidata per 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:
In Gruppo di risorse, selezionare il gruppo di risorse che contiene un'istanza esistente di Servizio Migrazione del database.
In Servizio Migrazione del database di Azure selezionare un'istanza esistente del Servizio Migrazione del database nel gruppo di risorse selezionato.
Selezionare Avanti.
Creare una nuova istanza del Servizio Migrazione del database
Per crere una nuova istanza del Servizio Migrazione del database:
In Gruppo di risorse, creare un nuovo gruppo di risorse che possa contenere una nuova istanza di Servizio Migrazione del database.
In Servizio Migrazione del database di Azure, selezionare Crea.
In Crea Servizio Migrazione del database di Azure immettere un nome per l'istanza di Servizio Migrazione del database e quindi selezionare Crea.
In Configura runtime di integrazione, completare i passaggi seguenti:
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.
Al termine dell'installazione, viene aperto automaticamente il Microsoft Integration Runtime Configuration Manager per avviare il processo di registrazione.
Nella tabella Chiave di autenticazione, copiare una delle chiavi di autenticazione fornite nella procedura guidata e incollarla in Azure Data Studio.
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.
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.
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.
Monitorare la migrazione del database
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.
Selezionare Migrazioni di database in corso per visualizzare le migrazioni attive.
Per ottenere altre informazioni su una migrazione specifica, selezionare il nome 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.
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:
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:
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.
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.
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.
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)
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 è la prima volta che si usa il Servizio Migrazione del database di Azure è necessario assicurarsi che il provider di risorse Microsoft.DataMigrationsia 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 nel database SQL di Azure di destinazione o non sono selezionate tabelle prima di avviare la migrazione. Il pulsante Avanti non è disponibile per selezionare per avviare l'attività di migrazione. Se non esiste alcuna tabella nella destinazione, è necessario selezionare l'opzione Migrazione dello schema per procedere.
Creare l'istanza del Servizio Migrazione del database
Passaggio 1: nel portale di Azure, spostarsi alla pagina del Servizio Migrazione del database di Azure. Creare una nuova istanza del Servizio Migrazione del database di Azure o riutilizzare un'istanza esistente creata in precedenza.
Usare un'istanza esistente del Servizio Migrazione del database
Per usare un'istanza esistente di Servizio Migrazione del database:
In portale di Azure, nel Servizio Migrazione del database di Azure selezionare un'istanza esistente di Servizio Migrazione del database da usare, assicurandosi che sia presente nel gruppo di risorse e nell'area corretti.
Creare una nuova istanza del Servizio Migrazione del database
Per crere una nuova istanza del Servizio Migrazione del database:
Nel portale di Azure, in Servizio Migrazione del database di Azure selezionare Crea.
In Selezionare lo scenario di migrazione e il Servizio Migrazione del database, selezionare l'input desiderato, ad esempio Tipo di server di origine e destinazione, scegliere Servizio Migrazione del database e quindi Seleziona.
Nella schermata successiva Crea servizio Migrazione dati selezionare la sottoscrizione e il gruppo di risorse, quindi selezionare Posizione e immettere il nome Servizio Migrazione del database. Selezionare Rivedi e crea. Questo crea un'istanza del Servizio Migrazione del database di Azure.
Se è necessario il runtime di integrazione self-hosted, nella pagina di panoramica del Servizio Migrazione del database e in Impostazioni selezionare Runtime di integrazione e completare i passaggi seguenti:
Selezionare Configura runtime di integrazione e scegliere 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. Per ulteriori informazioni, consultare le Raccomandazioni SHIR.
Al termine dell'installazione, viene aperto automaticamente il Microsoft Integration Runtime Configuration Manager per avviare il processo di registrazione.
Nella tabella Chiave di autenticazione, copiare una delle chiavi di autenticazione fornite nella procedura guidata e incollarla in Microsoft Integration Runtime Configuration Manager.
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. Potrebbero essere necessari alcuni minuti, per riflettere i dettagli del nodo sul portale di Azure per il Servizio di migrazione dei database, in Impostazioni del runtime di integrazione >.
Nel passaggio 2, per avviare una nuova migrazione usando Servizio Migrazione del database da portale di Azure, in Servizio Migrazione del database di Azure selezionare un'istanza esistente di Servizio Migrazione del database che si vuole usare e quindi selezionare una delle due Nuova migrazione o Avvia migrazioni.
Nello scenario Seleziona nuova migrazione, scegliere l'origine, il tipo di server di destinazione, la modalità di migrazione e quindi Seleziona.
Ora, nella procedura guidata per la Migrazione offline del database SQL di Azure:
Specificare i dettagli della connessione all’SQL Server di origine e quindi selezionare Avanti:
Nome del server di origine
Tipo di autenticazione
Nome utente e password
Proprietà di connessione
Nella pagina successiva, selezionare i database per la migrazione. Questa pagina potrebbe richiedere del tempo, per popolare l'elenco di database dall'origine.
Supponendo di aver già effettuato il provisioning della destinazione in base ai risultati della valutazione, specificare i dettagli di destinazione nella pagina Connetti al database SQL di Azure di destinazione e selezionare Avanti:
Sottoscrizione di Azure
Gruppo di risorse di Azure
Server di database SQL Azure di destinazione
Tipo di autenticazione
Nome utente e password
In Mapping di database di origine e di destinazione, eseguire il mapping dei database di origine e di destinazione.
Prima di andare a questo passaggio, assicurarsi di aver eseguito la migrazione dello schema dall'origine alla destinazione per tutti i database selezionati. Quindi, selezionare le tabelle di database di cui eseguire la migrazione per ogni database selezionato e selezionare la tabella o le tabelle per cui si vuole eseguire la migrazione dei dati".
Esaminare tutti gli input forniti nella pagina di riepilogo della migrazione del database e selezionare il pulsante Avvia migrazione per avviare la migrazione del database.
Nota
In una migrazione offline, i tempi di inattività dell’applicazione iniziano all’avvio della migrazione.
È 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.
Monitorare la migrazione del database
Nella panoramica dell'istanza di Servizio Migrazione del database selezionare Monitoraggio delle migrazioni per visualizzare i dettagli delle migrazioni del database.
Nella scheda Migrazioni è possibile tenere traccia delle migrazioni in corso, completate e non riuscite (se presenti) oppure visualizzare tutte le migrazioni di database. Nella barra dei menu selezionare Aggiorna per aggiornare lo stato della migrazione.
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.
In Nome origine, 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.
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.
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.
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.
Informazioni di base sulla migrazione e la distribuzione del database di Azure SQL. Esplorare i vantaggi, le funzionalità esclusive e le opzioni di migrazione ottimizzando al tempo stesso le prestazioni e le connessioni delle applicazioni per una transizione senza problemi al cloud.
Amministrare un'infrastruttura di database SQL Server per database relazionali, ibridi, locali e cloud con le offerte di database relazionali Microsoft PaaS.