Utiliser l’extension de migration Azure SQL pour migrer vers Azure SQL Database

Effectué

Si vous pouvez vous permettre de mettre la base de données hors connexion pendant la migration vers Azure, un certain choix d’outils s’offre à vous.

Dans notre cas de fabricant de vélos, la base de données des RH est considérée comme critique pour l’entreprise, mais rarement utilisée pendant les week-ends. Vous avez planifié l’exécution d’une migration hors connexion entre le vendredi soir et le lundi matin, mais vous souhaitez évaluer la meilleure méthode de migration.

On suppose que toutes les vérifications préalables à la migration ont été effectuées à l’aide de l’extension de migration Azure SQL pour Azure Data Studio, ou Azure Migrate. Ce processus garantit que les problèmes de fonctionnalité et de compatibilité sont résolus.

Effectuer une migration avec l’extension Azure SQL Migration pour Azure Data Studio

L’extension de migration Azure SQL pour Azure Data Studio est un outil qui vous aide à préparer la migration de vos bases de données SQL Server vers Azure. Il évalue votre préparation à la migration, recommande les meilleures ressources Azure pour vos besoins et facilite le processus de migration. Nous vous suggérons d’utiliser l’extension pour les bases de données de petite à moyenne taille.

Capture d’écran de l’extension de migration Azure SQL pour l’architecture Azure Data Studio.

L’extension de migration Azure SQL utilise la dernière version des services de migration des données et inclut une fonctionnalité d’évaluation avancée qui peut évaluer si vos bases de données SQL Server sont prêtes à être migrées vers Azure SQL.

En outre, vous pouvez migrer gratuitement plusieurs bases de données SQL Server à l’aide de l’extension de migration Azure SQL.

Les étapes ci-dessous mettent en évidence le processus de migration vers Azure SQL Database à l’aide de l’extension de migration Azure SQL pour Azure Data Studio.

Étape Description
Programme d’installation Installez Azure Data Studio et l’extension de migration Azure SQL. Ouvrez Azure Data Studio et démarrez l’Assistant de migration Migrer vers Azure SQL. Cet Assistant vous guide dans le processus de configuration.
Étape 1 : Bases de données pour l’évaluation Choisissez les bases de données à migrer.
Étape 2 :Résultats de l’évaluation et recommandations Évaluez si elles sont prêtes pour la migration. L’outil identifie les éventuels problèmes susceptibles d’affecter le processus de migration. Collectez des données de performances à partir de votre base de données actuelle. Ces données sont utilisées pour fournir des recommandations pour votre configuration Azure SQL.
Étape 3 : Cible Azure Sélectionnez un compte Azure et votre base de données Azure SQL Database cible.
Étape 4 : Azure Database Migration Service Sélectionnez un service Azure Database Migration Service existant ou créez-en un.
Étape 5 : Configuration de la source de données Entrez les informations d’identification utilisées pour vous connecter à la source à partir du runtime d’intégration auto-hébergé. Sélectionnez les tables à migrer de la source vers la cible. Avant de sélectionner les tables à migrer, vérifiez que vous avez créé le schéma de base de données à partir de la source vers la cible à l’aide de l’extension dacpac, de l’extension SQL Database Projects dans Azure Data Studio ou de l’Assistant Migration des données.
Étape 6 : Récapitulatif Passez en revue les informations de migration et démarrez le processus de migration.

Le service Database Migration Service optimise le processus de migration en ignorant les tables vides, même si vous les sélectionnez.

Important

Actuellement, Azure SQL Database ne prend pas en charge la migration des noms de table contenant des caractères codés sur deux octets. Pour contourner ce problème, vous pouvez renommer temporairement ces tables avant la migration, puis les rétablir à leur nom d’origine une fois la migration terminée.

état de la migration

Plusieurs états vous tiennent à jour sur la progression de la migration.

  • Préparation avant copie : le service est en train de désactiver les autostats, les déclencheurs et les index dans la table cible.

  • Copie : la copie des données de la base de données source vers la base de données cible est en cours.

  • Copie terminée : la copie des données est terminée et le service attend que d’autres tables terminent la copie.

  • Régénération des index : le service régénère les index sur les tables cibles.

  • Réussie : toutes les données sont copiées et les index sont régénérés.

Considérations relatives aux performances

La vitesse de migration dépend fortement de la référence SKU Azure SQL Database cible et de l’hôte de runtime d’intégration auto-hébergé. Nous vous recommandons vivement d’effectuer un scale-up de vos ressources de calcul de base de données Azure SQL avant de lancer le processus de migration pour une expérience de migration optimale.

Lorsque vous décidez que le serveur installe le runtime d’intégration auto-hébergé, assurez-vous que cet ordinateur peut gérer le processeur et la charge de la mémoire de l’opération de copie de données.

La migration de base de données Azure SQL Database peut être lente pour une grande quantité de tables en raison du temps que prend Azure Data Factory (ADF) pour démarrer des activités, même pour les petites tables.

La migration des tables avec de grandes colonnes d’objets blob peut échouer en raison d’un délai d’expiration.

Nous vous recommandons de configurer jusqu’à 10 migrations simultanées de bases de données par runtime d’intégration auto-hébergé sur un même ordinateur. Effectuez un scale-out du runtime auto-hébergé ou créez des instances distinctes sur différents ordinateurs pour augmenter les migrations simultanées de base de données.

Surveiller la migration

Une fois que vous avez démarré la migration de base de données, vous pouvez surveiller sa progression dans Azure Data Studio. Vous pouvez également suivre la progression dans le portail Azure sous la ressource Azure Database Migration Service.

Superviser la migration à partir d’Azure Data Studio

Sous État de la migration de base de données, vous pouvez suivre les migrations en cours, terminées et ayant échoué (le cas échéant), ou vous pouvez afficher toutes les migrations de base de données.

  1. Sélectionnez Migrations de bases de données en cours dans le tableau de bord de la migration pour afficher les migrations en cours.

    Capture d’écran du tableau de bord de la migration dans l’extension de migration Azure pour Azure Data Studio.

  2. Sélectionnez le nom de la base de données pour obtenir plus de détails.

    Capture d’écran des détails de la migration dans l’extension de migration Azure pour Azure Data Studio.

  3. La propriété État de la migration passe à Terminée, puis à Réussie une fois la migration terminée.

    Capture d’écran des détails de la migration dans l’extension de migration Azure pour Azure Data Studio montrant une migration terminée.

Surveiller la migration à partir du portail Azure

Vous pouvez également surveiller l’activité de migration à l’aide d’Azure Database Migration Service.

Pour surveiller la migration de votre base de données, vous devez généralement accéder au portail Azure et trouver votre instance du service Database Migration Service. Une fois que vous avez localisé le service, vous pouvez afficher la vue d’ensemble de son instance. Sélectionnez Surveiller les migrations pour accéder à des informations détaillées sur votre migration de base de données en cours.

Capture d’écran de la page de surveillance dans Azure Database Migration Services du portail Azure.

Lorsque l’état de la migration est Réussie, accédez au serveur cible et validez la base de données cible. Vérifiez le schéma et les données de la base de données.

Migrer à l’échelle

Vous pouvez également effectuer une migration hors connexion de la base de données de SQL Server local vers une base de données Azure SQL Database à l’aide de PowerShell ou d’Azure CLI.

L’exemple suivant migre la base de données AdventureWorks vers Azure SQL Database.


$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"

L’exemple suivant migre un sous-ensemble de tables de la base de données 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"

Pour en savoir plus sur les commandes PowerShell et Azure CLI relatives à l’extension de migration Azure, consultez les liens suivants : Module PowerShell pour l’extension de migration des données et Azure CLI pour l’extension de migration des données.