Usare l'estensione di migrazione Azure SQL per eseguire la migrazione al database di Azure SQL
Se è possibile portare offline il database durante la migrazione ad Azure, ci sono vari strumenti utilizzabili.
Nello scenario di produzione di biciclette, il database delle risorse umane è considerato critico per l'azienda, ma viene usato raramente nei fine settimana. È stata pianificata l'esecuzione di una migrazione offline tra venerdì sera e lunedì mattina e si vuole valutare il metodo di migrazione migliore.
Si presuppone che tutti i controlli di pre-migrazione siano stati eseguiti con l'estensione di migrazione Azure SQL per Azure Data Studio o Azure Migrate. Questo processo assicura che i problemi di funzionalità e compatibilità siano stati risolti.
Eseguire la migrazione usando l'estensione di migrazione di Azure SQL per Azure Data Studio
L'estensione di migrazione di Azure SQL per Azure Data Studio è uno strumento che consente di preparare la migrazione dei database SQL Server ad Azure. Valuta l'idoneità per la migrazione, consiglia le risorse di Azure migliori per le proprie esigenze e facilita il processo di migrazione. È consigliabile usare l'estensione per i database di piccole e medie dimensioni.
L'estensione di migrazione di Azure SQL usa la versione più recente di Data Migration Services e include una funzionalità di valutazione avanzata che consente di valutare se i database SQL Server sono pronti per la migrazione ad Azure SQL.
È anche possibile eseguire la migrazione di più database SQL Server usando l'estensione di migrazione di Azure SQL senza costi aggiuntivi.
La procedura seguente illustra il processo di migrazione al database SQL di Azure usando l'estensione di migrazione Azure SQL per Azure Data Studio.
Procedi | Descrizione |
---|---|
Impostazioni | Installare Azure Data Studio e l'estensione di Migrazione SQL di Azure. Aprire Azure Data Studio e avviare la migrazione guidata ad Azure SQL. Questa procedura guidata illustra il processo di configurazione. |
Passaggio 1: Database per la valutazione | Scegliere i database di cui si vuole eseguire la migrazione. |
Passaggio 2: Risultati e raccomandazioni della valutazione | Valutarne la conformità per la migrazione. Lo strumento identifica eventuali problemi che potrebbero influire sul processo di migrazione. Raccogliere dati sulle prestazioni dal database corrente. Questi dati vengono usati per fornire consigli per la configurazione di Azure SQL. |
Passaggio 3: Destinazione di Azure | Selezionare un account Azure e il database SQL di Azure di destinazione. |
Passaggio 4: Selezionare Servizio Migrazione del database di Azure | Selezionare un Servizio Migrazione del database di Azure esistente o crearne uno nuovo. |
Passaggio 5: Configurazione dell'origine dati | Immettere le credenziali usate per connettersi all'origine dal runtime di integrazione self-hosted. Selezionare le tabelle di cui eseguire la migrazione dall'origine alla destinazione. Prima di selezionare le tabelle di cui eseguire la migrazione, assicurarsi di aver creato lo schema del database dall'origine alla destinazione usando l'estensione dacpac, l'estensione Projects di database SQL in Azure Data Studio o DMA. |
Passaggio 6: Riepilogo | Esaminare le informazioni sulla migrazione e avviare il processo di migrazione. |
Il Servizio Migrazione del database ottimizza il processo di migrazione ignorando le tabelle vuote, anche se vengono selezionate.
Importante
Attualmente, il database SQL di Azure non supporta la migrazione di nomi di tabella contenenti caratteri a byte doppio. Come soluzione alternativa, è possibile rinominare temporaneamente queste tabelle prima della migrazione e quindi ripristinarne i nomi originali al termine della migrazione.
Stato migrazione
Esistono alcuni stati che mantengono aggiornato lo stato di avanzamento della migrazione.
Preparazione per la copia: il servizio è in fase di disabilitazione degli stati automatici, i trigger e gli indici nella tabella di destinazione.
Copia: è in corso la copia dei dati dal database di origine al database di destinazione.
Copia completata: la copia dei dati è stata completata e il servizio è in attesa di altre tabelle per completare la copia.
Ricompilazione degli indici: il servizio sta ricompilando gli indici nelle tabelle di destinazione.
Operazione completata: tutti i dati vengono copiati e gli indici vengono ricompilati.
Considerazioni sulle prestazioni
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. È consigliabile aumentare le prestazioni delle risorse di calcolo del database SQL di Azure prima di avviare il processo di migrazione per un'esperienza ottimale.
Quando si decide l'installazione del runtime di integrazione self-hosted da parte del server, assicurarsi che il computer possa gestire il carico di CPU e memoria dell'operazione di copia dei dati.
La migrazione del database SQL di Azure può essere lenta con un volume elevato di tabelle a causa del tempo impiegato da Azure Data Factory (ADF) per avviare le attività, anche per le tabelle di piccole dimensioni.
Le tabelle con colonne BLOB di grandi dimensioni potrebbero non riuscire nella migrazione a causa del timeout.
È consigliabile eseguire fino a 10 migrazioni di database simultanee per ogni runtime di integrazione self-hosted in un singolo computer. Aumentare il numero di istanze del runtime self-hosted o creare istanze separate in computer diversi per aumentare le migrazioni simultanee del database.
Monitorare la migrazione
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 Servizio Migrazione del database di Azure.
Monitorare la migrazione da Azure Data Studio
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 nel dashboard di migrazione per visualizzare le migrazioni in corso.
Selezionare il nome del database per ottenere altri dettagli.
La proprietà Stato migrazione verrà modificata in Completamento, quindi in Operazione completata dopo il completamento della migrazione.
Monitorare la migrazione dal portale di Azure
In alternativa, è anche possibile monitorare l'attività di migrazione usando Servizio Migrazione del database di Azure.
Per monitorare la migrazione del database, in genere si passa al portale di Azure e si trova l'istanza del Servizio Migrazione del database. Dopo aver individuato il servizio, è possibile visualizzarne la panoramica dell'istanza. Selezionare Monitora migrazioni per accedere a informazioni dettagliate sulla migrazione del database in corso.
Una volta che lo stato della migrazione è Operazione completata, passare al server di destinazione e convalidare il database di destinazione. Controllare lo schema del database e i dati.
Eseguire la migrazione su larga scala
È anche possibile eseguire una migrazione offline del database da SQL Server locale a un database SQL di Azure usando PowerShell o l'interfaccia della riga di comando di Azure.
Nell'esempio seguente viene eseguita la migrazione del database AdventureWorks nel database SQL di Azure.
$sourcePass = ConvertTo-SecureString "password" -AsPlainText -Force
$targetPass = ConvertTo-SecureString "password" -AsPlainText -Force
New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"
Nell'esempio seguente viene eseguita la migrazione di un subset di tabelle dal database AdventureWorks.
New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-TableList "[Person].[Person]", "[Person].[EmailAddress]" `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"
Per altre informazioni sui comandi PowerShell e dell’interfaccia della riga di comando di Azure disponibili per l'estensione di migrazione di Azure, fare riferimento ai collegamenti seguenti: Modulo PowerShell per l'estensione di migrazione dei dati e Interfaccia della riga di comando di Azure per l’estensione di migrazione dei dati.