Tutoriel : Migrer SQL Server vers Azure SQL Database (hors connexion)

Vous pouvez utiliser Azure Database Migration Service via l’extension de migration Azure SQL pour Azure Data Studio, ou le portail Azure, pour migrer des bases de données d’une instance locale SQL Server vers Azure SQL Database (hors connexion).

Dans ce tutoriel, vous allez apprendre à migrer l’exemple de base de données AdventureWorks2019 d’une instance locale de SQL Server vers une instance de Azure SQL Database à l’aide de Database Migration Service. Ce tutoriel se concentre sur le mode de migration hors connexion, qui prend en compte un temps d’arrêt acceptable durant le processus de migration.

Dans ce tutoriel, vous allez apprendre à :

  • Ouvrez l’Assistant Migration vers Azure SQL dans Azure Data Studio.
  • Exécuter une évaluation de vos bases de données SQL Server sources
  • Collecter les données de performances de votre instance SQL Server source
  • Obtenez une recommandation sur la référence SKU Azure SQL Database la mieux adaptée à votre charge de travail
  • Créer une instance Azure Database Migration Service
  • Démarrer votre migration et suivre sa progression jusqu’à son achèvement

Conseil

Dans Azure Database Migration Service, vous pouvez migrer vos bases de données hors connexion ou pendant qu’elles sont en ligne. Lors d’une migration hors connexion, le temps d’arrêt de l’application commence quand la migration commence. Pour limiter le temps d’arrêt au temps nécessaire pour basculer vers le nouvel environnement après la migration, utilisez une migration en ligne. Nous vous recommandons de tester une migration hors connexion pour déterminer si le temps d’arrêt est acceptable. Si le temps d’arrêt attendu n’est pas acceptable, effectuez une migration en ligne.

Important

Les migrations en ligne pour les cibles Azure SQL Database ne sont pas disponibles actuellement.

Options de migration

La section suivante explique comment utiliser Azure Database Migration Service avec l’extension de migration Azure SQL ou dans le portail Azure.

Prérequis

Avant de commencer le tutoriel :

  • Téléchargez et installez Azure Data Studio.

  • Installez l’extension de migration Azure SQL à partir de la place de marché Azure Data Studio.

  • Disposer d’un compte Azure affecté à l’un des rôles intégrés suivants :

    • Rôle de contributeur pour une instance Azure SQL Database cible
    • Rôle lecteur pour le groupe de ressources Azure qui contient l’instance cible Azure SQL Database
    • Rôle propriétaire ou contributeur pour l’abonnement Azure (requis si vous créez une instance Azure Database Migration Service)

    En guise d’alternative à l’utilisation de l’un de ces rôles intégrés, vous pouvez attribuer un rôle personnalisé.

    Important

    Un compte Azure n’est requis que lorsque vous configurez les étapes de migration. Un compte Azure n’est pas nécessaire pour l’évaluation ou pour afficher les recommandations Azure dans l’Assistant Migration dans Azure Data Studio.

  • Créez une instance cible d’Azure SQL Database.

  • Assurez-vous que la connexion SQL Server qui se connecte à l’instance SQL Server source est membre du rôle db_datareader et que la connexion de l’instance SQL Server cible est membre du rôle db_owner.

  • Pour migrer le schéma de base de données de la source vers la base de données Azure SQL DB à l’aide de Database Migration Service, la version minimale prise en charge de SHIR est 5.37 ou ultérieure.

  • Si vous utilisez Database Migration Service pour la première fois, assurez-vous que le fournisseur de ressources Microsoft.DataMigration est inscrit dans votre abonnement.

Remarque

À présent, vous pouvez migrer le schéma de base de données et les données à l’aide de Database Migration Service. En outre, vous pouvez utiliser des outils tels que l’extension dacpac SQL Server ou l’extension SQL Database Projects dans Azure Data Studio pour migrer le schéma avant de sélectionner la liste des tables à migrer.

Si aucune table n’existe sur la cible Azure SQL Database ou qu’aucune table n’est sélectionnée avant de démarrer la migration, le bouton Suivant n’est pas disponible pour lancer la tâche de migration. Si aucune table n’existe sur la cible, vous devez sélectionner l’option de migration de schéma pour avancer.

Ouvrez l’Assistant Migration vers Azure SQL dans Azure Data Studio.

Pour ouvrir l’Assistant Migrer vers Azure SQL :

  1. Dans Azure Data Studio, accédez à Connexions. Sélectionnez et connectez-vous à votre instance locale SQL Server. Vous pouvez également vous connecter à SQL Server sur une machine virtuelle Azure.

  2. Cliquez avec le bouton droit sur la connexion au serveur, puis sélectionnez Gérer.

    Screenshot that shows a server connection and the Manage option in Azure Data Studio.

  3. Dans le menu du serveur sous Général, sélectionnez Migration Azure SQL.

    Screenshot that shows the Azure Data Studio server menu.

  4. Dans le tableau de bord de l’extension de migration Azure SQL, sélectionnez Migrer vers Azure SQL pour ouvrir l’Assistant Migration.

    Screenshot that shows the Migrate to Azure SQL wizard.

  5. Sur la première page de l’Assistant, démarrez une nouvelle session ou reprenez une session précédemment enregistrée.

Exécuter l’évaluation de base de données, collecter les données de performances et obtenir les recommandations Azure

  1. Dans Étape 1 : Bases de données à évaluer dans l’Assistant Migrer vers Azure SQL, sélectionnez les bases de données à évaluer. Ensuite, sélectionnez Suivant.

    Screenshot that shows selecting a database for assessment.

  2. Dans Étape 2 : Résultats et recommandations de l’évaluation, effectuez les étapes suivantes :

    1. Dans Choisissez votre cible Azure SQL, sélectionnez Azure SQL Database.

      Screenshot that shows selecting the Azure SQL Database target.

    2. Sélectionnez Afficher/Sélectionner pour afficher les résultats de l’évaluation.

      Screenshot that shows view/select assessment results.

    3. Dans les résultats de l’évaluation, sélectionnez la base de données, puis passez en revue le rapport d’évaluation pour vous assurer qu’aucun problème n’a été détecté.

      Screenshot that shows the assessment report.

    4. Sélectionnez Obtenir la recommandation Azure pour ouvrir le volet de recommandations.

      Screenshot that shows Azure recommendations.

    5. Sélectionnez Collecter les données de performance maintenant. Choisissez un dossier sur votre ordinateur local pour stocker les journaux de performances, puis sélectionnez Démarrer.

      Screenshot that shows performance data collection.

      Azure Data Studio collecte les données de performances jusqu’à ce que vous arrêtiez la collecte ou fermiez Azure Data Studio.

      Après 10 minutes, Azure Data Studio indique qu’une recommandation est disponible pour Azure SQL Database. Une fois la première recommandation générée, vous pouvez sélectionner Redémarrer la collecte de données pour continuer à exécuter le processus de collecte des données et affiner les recommandations SKU. Une évaluation étendue est particulièrement utile si vos modèles d’utilisation varient au fil du temps.

      Screenshot that shows performance data collected.

    6. Dans la cible Azure SQL Database sélectionnée, sélectionnez Afficher les détails pour ouvrir le rapport de recommandation de référence SKU détaillé :

      Screenshot that shows the View details link for the target database recommendations.

    7. Dans Passer en revue les recommandations Azure SQL Database, passez en revue la recommandation. Pour enregistrer une copie de la recommandation, sélectionnez Enregistrer le rapport de recommandation.

      Screenshot that shows SKU recommendation details.

  3. Sélectionnez Fermer pour fermer le sous-onglet de recommandations.

  4. Sélectionnez Suivant pour poursuivre la migration de votre base de données dans l’Assistant.

Configurer les paramètres de migration

  1. Dans Étape 3 : Cible Azure SQL dans l’Assistant Migrer vers Azure SQL, procédez comme suit pour votre instance Azure SQL Database cible :

    1. Sélectionnez votre compte Azure, votre abonnement Azure, la région ou l’emplacement Azure et le groupe de ressources qui contient le déploiement Azure SQL Database.

      Screenshot that shows Azure account details.

    2. Pour Serveur Azure SQL Database, sélectionnez le serveur Azure SQL Database cible (serveur logique). Entrez un nom d’utilisateur et un mot de passe pour le déploiement de la base de données cible. puis Connecter. Entrez les informations d’identification pour vérifier la connectivité à la base de données cible.

      Screenshot that shows Azure SQL Database details.

    3. Ensuite, mappez la base de données source et la base de données cible pour la migration. Pour Base de données cible, sélectionnez la cible Azure SQL Database. Sélectionnez ensuite Suivant pour passer à l’étape suivante de l’Assistant migration.

      Screenshot that shows source and target mapping.

  2. Dans Étape 4 : Mode de migration, sélectionnez Migration hors connexion, puis Suivant.

    Screenshot that shows offline migrations selection.

  3. Dans Étape 5 : Configuration de la source de données, effectuez les étapes suivantes :

    1. Sous Informations d’identification de la source, entrez les informations d’identification de l’instance SQL Server source.

    2. Sous Sélectionner des tables, sélectionnez l’icône de crayon Modifier.

      Screenshot that shows source SQL Server credentials.

    3. Dans Sélectionner les tables pour <nom-base-de-données>, sélectionnez les tables à migrer vers la cible. La colonne Has rows indique si la table cible a des lignes dans la base de données cible. Vous pouvez sélectionner une ou plusieurs tables. Sélectionnez ensuite Mettre à jour.

      Vous pouvez mettre à jour la liste des tables sélectionnées à tout moment avant de commencer la migration.

      Dans l’exemple suivant, un filtre de texte a été appliqué pour sélectionner uniquement les tables qui contiennent le mot Employee. Sélectionnez la liste des tables en fonction de vos besoins de migration.

      Screenshot that shows the table selection.

  4. Passez en revue vos sélections de table, puis sélectionnez Suivant pour passer à l’étape suivante dans l’Assistant Migration.

    Screenshot that shows selected tables to migrate.

Remarque

Si aucune table n’est sélectionnée ou si aucun nom d’utilisateur et mot de passe n’est entré, le bouton Suivant n’est pas disponible.

À présent, vous pouvez migrer le schéma de base de données et les données à l’aide de Database Migration Service. En outre, vous pouvez utiliser des outils tels que l’extension dacpac SQL Server ou l’extension sql Database Projects dans Azure Data Studio pour migrer le schéma avant de sélectionner la liste des tables à migrer.

Créer une instance de Database Migration Service

Dans Étape 6 : Azure Database Migration Service de l’Assistant Migrer vers Azure SQL, créez une instance de Database Migration Service ou réutilisez une instance existante que vous avez créée précédemment.

Remarque

Si vous avez précédemment créé une instance Database Migration Service à l’aide du Portail Azure, vous ne pouvez pas réutiliser l’instance dans l’Assistant de migration dans Azure Data Studio. Vous pouvez réutiliser une instance uniquement si vous l’avez créée à l’aide d’Azure Data Studio.

Utiliser une instance existante de Database Migration Service

Pour utiliser une instance existante de Database Migration Service :

  1. Dans Groupe de ressources, sélectionnez le groupe de ressources qui contient une instance existante de Database Migration Service.

  2. Dans Azure Database Migration Service, sélectionnez une instance existante de Database Migration Service qui se trouve dans le groupe de ressources sélectionné.

  3. Sélectionnez Suivant.

    Screenshot that shows Database Migration Service selection.

Créer une instance de Database Migration Service

Pour créer une instance de Database Migration Service :

  1. Dans Groupe de ressources, créez un groupe de ressources pour contenir une nouvelle instance de Database Migration Service.

  2. Sous Azure Database Migration Service, sélectionnez Créer.

  3. Dans Créer Azure Database Migration Service, entrez un nom pour votre instance de Database Migration Service, puis sélectionnez Créer.

  4. Sous Configurer le runtime d’intégration, effectuez les étapes suivantes :

    1. Sélectionnez le lien Télécharger et installer le runtime d’intégration pour ouvrir le lien de téléchargement dans un navigateur web. Téléchargez le runtime d’intégration, puis installez-le sur un ordinateur qui remplit les conditions préalables pour se connecter à l’instance SQL Server source.

      Screenshot that shows the Download and install integration runtime link.

      Une fois l’installation effectuée, le Gestionnaire de configuration de Microsoft Integration Runtime s’ouvre automatiquement pour débuter le processus d’inscription.

    2. Dans le tableau Clé d’authentification, copiez l’une des clés d’authentification fournies dans l’Assistant et collez-la dans Azure Data Studio.

      Screenshot that highlights the authentication key table in the wizard.

      Si la clé d’authentification est valide, une icône de contrôle verte apparaît dans le Gestionnaire de configuration Integration Runtime. Une coche verte indique que vous pouvez vous Inscrire.

      Après avoir enregistré le runtime d’intégration auto-hébergé, fermez Microsoft Integration Runtime Configuration Manager.

      Remarque

      Pour plus d’informations sur le runtime d’intégration auto-hébergé, consultez Créer et configurer un runtime d’intégration auto-hébergé.

  5. Dans Créer Azure Database Migration Service dans Azure Data Studio, sélectionnez Tester la connexion pour valider que l’instance de Database Migration Service nouvellement créée est connectée au runtime d’intégration auto-hébergé nouvellement enregistré.

    Screenshot that shows IR connectivity test.

  6. Revenez à l’Assistant Migration dans Azure Data Studio.

Démarrer la migration de base de données

Dans Étape 7 : Résumé de l’Assistant Migrer vers Azure SQL, passez en revue la configuration que vous avez créée, puis sélectionnez Démarrer la migration pour démarrer la migration de base de données.

Screenshot that shows how to start migration.

Surveiller la migration de base de données

  1. Dans Azure Data Studio, dans le menu du serveur sous Général, sélectionnez Migration Azure SQL pour accéder au tableau de bord de vos migrations Azure SQL Database.

    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.

    Screenshot that shows monitor migration dashboard.

  2. Sélectionnez Migrations de base de données en cours pour afficher les migrations actives.

    Pour obtenir plus d’informations sur une migration spécifique, sélectionnez le nom de la base de données.

    Screenshot that shows database migration details.

    Database Migration Service retourne l’état de migration connu le plus récent à chaque actualisation de l’état de la migration. Le tableau suivant décrit les états possibles :

    Statut Description
    Préparation de la copie Le service désactive les autostats, les déclencheurs et les index dans la table cible.
    Copie Les données sont copiées de la base de données source vers la base de données cible.
    Copie terminée La copie des données est terminée. Le service attend que d’autres tables terminent la copie pour commencer les dernières étapes pour retourner les tables à leur schéma d’origine.
    Regénération des index Le service régénère les index sur les tables cibles.
    Opération réussie Toutes les données sont copiées et les index sont reconstruits.
  3. Consultez la page des détails de la migration pour afficher l’état actuel de chaque base de données.

    Voici un exemple de migration de base de données AdventureWorks2019 avec l’état Création en cours :

    Screenshot that shows a creating migration status.

  4. Dans la barre de menus, sélectionnez Actualiser pour mettre à jour l’état de la migration.

    Une fois l’état de la migration actualisé, l’état mis à jour pour l’exemple de migration de base de données AdventureWorks2019 est En cours :

    Screenshot that shows a migration in progress status.

  5. Sélectionnez un nom de base de données pour ouvrir la vue de table. Dans cette vue, vous voyez l’état actuel de la migration, le nombre de tables qui se trouvent actuellement dans cet état et un état détaillé de chaque table.

    Screenshot that shows monitoring table migration.

    Une fois que toutes les données de table sont migrées vers la cible Azure SQL Database, Database Migration Service passe l’état de la migration de En cours à Réussi.

    Screenshot that shows succeeded migration.

Remarque

Database Migration Service optimise la migration en ignorant les tables sans données (0 lignes). Les tables qui n’ont pas de données n’apparaissent pas dans la liste, même si vous sélectionnez les tables lorsque vous créez la migration.

Vous avez effectué la migration vers Azure SQL Database. Nous vous encourageons à parcourir une série de tâches post-migration pour garantir que tout fonctionne correctement et efficacement.

Important

Veillez à tirer parti des fonctionnalités cloud avancées d’Azure SQL Database. Les fonctionnalités incluent la haute disponibilité intégrée, la détection des menaces, ainsi que la surveillance et le réglage de votre charge de travail.

Limites

La migration hors connexion Azure SQL Database utilise des pipelines ADF (Azure Data Factory) pour le déplacement des données, et respecte donc les limitations ADF. Un ADF correspondant est créé lorsqu’un service de migration de base de données est également créé. Ainsi, les limites d’usine s’appliquent par service.

  • La machine sur laquelle le SHIR est installé sert de calcul pour la migration. Assurez-vous que cette machine peut gérer la charge du processeur et de la mémoire de la copie de données. Pour en savoir plus, consultez recommandations SHIR.
  • Limite de 100 000 tables par base de données.
  • 10 000 migrations de base de données simultanées par service.
  • 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é.
  • La migration Azure SQL Database évolue mal avec les numéros de table en raison de la surcharge ADF dans les activités de démarrage. Si une base de données contient des milliers de tables, le processus de démarrage de chaque table peut prendre plusieurs secondes, même si elles sont composées d’une ligne avec un bit de données.
  • Les noms des tables Azure SQL Database avec des caractères codés sur deux octets ne sont actuellement pas pris en charge pour la migration. L’atténuation consiste à renommer les tables avant la migration ; leur nom d’origine pourra être rétabli après une migration réussie.
  • La migration des tables avec de grandes colonnes d’objets blob peut échouer en raison d’un délai d’expiration.
  • Les noms de base de données avec SQL Server réservés ne sont actuellement pas pris en charge.
  • Les noms de base de données qui incluent des points-virgules ne sont actuellement pas pris en charge.
  • Les colonnes calculées ne sont pas migrées.

Étapes suivantes