Tutoriel : Migrer SQL Server vers une instance managée SQL Azure en ligne à l’aide de DMS (classique)

Important

Azure Database Migration Service (classique) : les scénarios SQL sont sur un chemin d’accès de dépréciation. Depuis le 1er août 2023, vous ne pouvez plus créer de ressources Database Migration Service (classique) pour les scénarios SQL Server à partir du portail Azure. Le service sera mis hors service le 15 mars 2026 pour tous les clients. Pour des migrations fluides de plusieurs sources de base de données vers des cibles Azure SQL, Microsoft recommande d’utiliser la dernière version d’Azure Database Migration Service, qui est disponible en tant qu’extension Azure SQL Migration dans Azure Data Studio, par le biais du portail Azure ou par le biais d’Azure PowerShell et Azure CLI. Pour plus d’informations, consultez Avis de mise hors service : Database Migration Service (classique).

Remarque

Ce tutoriel utilise une version antérieure d’Azure Database Migration Service. Pour améliorer les fonctionnalités et la prise en charge, envisagez de migrer vers Azure SQL Managed Instance à l’aide de l’extension de migration Azure SQL pour Azure Data Studio.

Pour comparer les fonctionnalités entre les versions, consultez comparer les versions.

Vous pouvez utiliser Azure Database Migration Service pour procéder à la migration des bases de données d'une instance de SQL Server vers Azure SQL Managed Instance, pour un temps d'arrêt minimal. Pour connaître d’autres méthodes pouvant nécessiter des efforts manuels, consultez l’article Migration d’une instance de SQL Server vers Azure SQL Managed Instance.

Dans ce tutoriel, vous allez migrer la base de données AdventureWorks2016 d'une instance locale de SQL Server vers SQL Managed Instance, avec un temps d'arrêt minimal, en utilisant Azure Database Migration Service.

Vous allez apprendre à effectuer les actions suivantes :

  • Inscrivez le fournisseur de ressources Azure DataMigration.
  • Créer une instance Azure Database Migration Service.
  • Créer un projet de migration et lancer une migration en ligne en utilisant Azure Database Migration Service.
  • Surveiller la migration.
  • Effectuer le basculement de la migration lorsque vous êtes prêt.

Important

Pour les migrations en ligne de SQL Server vers SQL Managed Instance à l’aide d’Azure Database Migration Service, vous devez fournir la sauvegarde de la base de données complète et les sauvegardes des journaux associés dans le partage réseau SMB que le service peut utiliser pour la migration de vos bases de données. Azure Database Migration Service ne lance pas les sauvegardes. Il utilise les sauvegardes existantes (qui peuvent déjà faire partie de votre plan de récupération d'urgence) pour la migration. Chaque sauvegarde peut être enregistrée dans un fichier de sauvegarde distinct ou dans plusieurs fichiers de sauvegarde. Toutefois, l’ajout de plusieurs sauvegardes (c’est-à-dire, full et t-log) sur un seul support de sauvegarde n’est pas pris en charge. Utilisez des sauvegardes compressées pour réduire le risque de problèmes liés à la migration de sauvegardes volumineuses.

Notes

L’utilisation d’Azure Database Migration Service pour effectuer une migration en ligne nécessite la création d’une instance basée sur le niveau tarifaire Premium.

Important

Pour une expérience de migration optimale, Microsoft recommande de créer une instance Azure Database Migration Service dans la même région Azure que la base de données cible. Le déplacement des données entre les régions ou les zones géographiques peut ralentir le processus de migration et introduire des erreurs.

Important

Réduisez autant que possible la durée du processus de migration en ligne afin de minimiser le risque d’interruption due à la reconfiguration d’une instance ou à une maintenance planifiée. Dans le cas d’un tel événement, le processus de migration reprend dès le début. En cas de maintenance planifiée, il existe une période de grâce de 36 heures avant le redémarrage du processus de migration.

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.

Cet article décrit une migration en ligne de SQL Server vers SQL Managed Instance. Pour une migration hors connexion, consultez Migrer une instance de SQL Server vers une instance de SQL Managed Instance hors connexion à l'aide de DMS.

Prérequis

Pour suivre ce didacticiel, vous devez effectuer les opérations suivantes :

  • Téléchargez et installez SQL Server 2016 ou une version ultérieure.

  • Activez le protocole TCP/IP, qui est désactivé par défaut pendant l’installation de SQL Server Express, en suivant les instructions de l’article Activer ou désactiver un protocole réseau de serveur.

  • Restaurez la base de données AdventureWorks2016 sur l’instance SQL.

  • Créez un Réseau virtuel Microsoft Azure pour Azure Database Migration Service à l’aide du modèle de déploiement Azure Resource Manager, qui fournit une connectivité site à site à vos serveurs sources locaux via ExpressRoute ou un VPN. Découvrez les topologies de réseau pour les migrations d’instance managée SQL à l’aide d’Azure Database Migration Service. Pour plus d’informations sur la création d’un réseau virtuel, consultez la documentation sur le réseau virtuel, en particulier les articles sur le démarrage rapide, qui fournissent des informations pas à pas.

    Notes

    Pendant la configuration du réseau virtuel, si vous utilisez ExpressRoute avec le peering réseau à Microsoft, ajoutez ces points de terminaison au sous-réseau où doit être provisionné le service :

    • Point de terminaison de base de données cible (par exemple, un point de terminaison SQL, un point de terminaison Azure Cosmos DB, etc.)
    • Point de terminaison de stockage
    • Point de terminaison Service Bus

    Cette configuration est nécessaire car Azure Database Migration Service ne dispose pas d’une connectivité Internet.

    En l'absence de connectivité de site à site entre le réseau local et Azure, ou si la bande passante de la connectivité de site à site est limitée, vous pouvez utiliser Azure Database Migration Service en mode hybride (préversion). Le mode hybride utilise un Worker de migration local et une instance d'Azure Database Migration Service exécutée dans le cloud. Pour créer une instance d'Azure Database Migration Service en mode hybride, consultez l'article Créer une instance d'Azure Database Migration Service en mode hybride à l'aide du portail Azure.

    Important

    En ce qui concerne le compte de stockage utilisé dans le cadre de la migration, vous devez :

    • Choisir d’autoriser tout le réseau à accéder au compte de stockage.
    • Activez Délégation de sous-réseau sur le sous-réseau MI et mettez à jour les règles de pare-feu du compte de stockage pour autoriser ce sous-réseau.
    • Vous ne pouvez pas utiliser un compte Stockage Azure ayant un point de terminaison privé avec Azure Database Migration Service.
  • Assurez-vous que les règles de groupe de sécurité réseau de votre réseau virtuel ne bloquent pas le port de sortie 443 de ServiceTag pour ServiceBus, Storage et AzureMonitor. Pour plus d’informations sur le filtrage du trafic de groupe de sécurité réseau de réseau virtuel, consultez l’article Filtrer le trafic avec les groupes de sécurité réseau.

  • Configurez l’accès au moteur de base de données source dans votre Pare-feu Windows.

  • Ouvrez votre pare-feu Windows pour permettre à Azure Database Migration Service d’accéder au serveur SQL Server source via le port TCP 1433 (par défaut). Si votre instance par défaut écoute sur un autre port, ajoutez ce dernier au pare-feu.

  • Si vous exécutez plusieurs instances nommées de SQL Server avec des ports dynamiques, vous pouvez activer le service SQL Browser et autoriser l’accès au port UDP 1434 à travers vos pare-feu, de sorte qu’Azure Database Migration Service puisse se connecter à une instance nommée sur votre serveur source.

  • Si vous utilisez une appliance de pare-feu devant vos bases de données sources, il est possible que vous deviez ajouter des règles de pare-feu pour permettre à Azure Database Migration Service d’accéder à la ou aux bases de données sources pour la migration ainsi qu’aux fichiers via le port SMB 445.

  • Créez une instance managée SQL en suivant les indications de l’article Créer une instance managée SQL dans le portail Azure.

  • Vérifiez que les comptes de connexion utilisés pour connecter le serveur SQL Server source et l’instance SQL Managed Instance cible sont membres du rôle serveur sysadmin.

  • Spécifiez un partage réseau SMB qui contient tous les fichiers de sauvegarde complète de votre base de données et les fichiers de sauvegarde des journaux des transactions associés qu'Azure Database Migration Service peut utiliser pour la migration de base de données.

  • Assurez-vous que le compte de service exécutant l’instance SQL Server source dispose de privilèges en écriture sur le partage réseau que vous avez créé, et que le compte d’ordinateur pour le serveur source a accès en lecture/écriture au même partage.

  • Repérez un utilisateur Windows (et son mot de passe) disposant d’un contrôle total sur le partage réseau que vous avez créé précédemment. Azure Database Migration Service emprunte les informations d’identification de l’utilisateur pour charger les fichiers de sauvegarde sur le conteneur de Stockage Azure pour l’opération de restauration.

  • Créez un ID d’application Microsoft Entra qui génère la clé de l’ID d’application permettant à Azure Database Migration Service de se connecter à Azure SQL Managed Instance et au conteneur Stockage Azure cibles. Pour plus d’informations, consultez l’article Utiliser le portail pour créer une application et un principal de service Microsoft Entra pouvant accéder aux ressources.

    Remarque

    L’ID d’application utilisé par Azure Database Migration Service prend en charge l’authentification par secret (basée sur un mot de passe) pour les principaux de service. Il ne prend pas en charge l’authentification basée sur les certificats.

    Notes

    Azure Database Migration Service nécessite les autorisations de contributeur sur l’abonnement pour l’ID d’application spécifié. Vous pouvez également créer des rôles personnalisés qui accordent les autorisations spécifiques requises par Azure Database Migration Service. Pour obtenir des instructions pas à pas sur l'utilisation des rôles personnalisés, consultez l'article Rôles personnalisés pour la migration en ligne de SQL Server vers SQL Managed Instance.

  • Créez ou prenez note du niveau de performance Standard, compte Stockage Azure, qui permet à Azure Database Migration Service de charger les fichiers de sauvegarde de base de données sur les bases de données en cours de migration et de les utiliser pour celles-ci. Veillez à créer le compte de stockage Azure dans la même région que celle où l’instance d’Azure Database Migration Service est créée.

    Notes

    Lorsque vous migrez une base de données protégée par Transparent Data Encryption vers une instance gérée à l’aide d’une migration en ligne, le certificat correspondant du serveur local ou de l’instance SQL Server de la machine virtuelle Azure doit être migré avant la restauration de la base de données. Pour des instructions détaillées, voir Migrer un certificat TDE vers une instance gérée.

Inscrire le fournisseur de ressources

Avant de créer votre première instance Database Migration Service, vous devez inscrire le fournisseur de ressources Microsoft.DataMigration.

  1. Connectez-vous au portail Azure. Recherchez et sélectionnez Abonnements.

    Show portal subscriptions

  2. Sélectionnez l’abonnement dans lequel vous voulez créer l’instance Azure Database Migration Service, puis sélectionnez Fournisseurs de ressources.

    Show resource providers

  3. Recherchez « migration », puis sélectionnez Inscrire pour Microsoft.DataMigration.

    Register resource provider

Créer une instance Azure Database Migration Service

  1. Dans le menu du Portail Azure ou dans la page Accueil, sélectionnez Créer une ressource. Recherchez et sélectionnez Azure Database Migration Service.

    Azure Marketplace

  2. Dans l’écran Azure Database Migration Service, sélectionnez Créer.

    Create Azure Database Migration Service instance

    Sélectionnez le Type de serveur source et le Type de serveur cible appropriés, puis choisissez l’option Database Migration Service (classique).

    Select Database Migration Service (Classic) scenario

  3. Sous l’onglet Informations de base de la page Créer un service de migration :

    • Sélectionnez l’abonnement.
    • Créez un groupe de ressources ou sélectionnez-en un déjà existant.
    • Spécifiez un nom pour l’instance d’Azure Database Migration Service.
    • Sélectionnez l’emplacement dans lequel vous souhaitez créer l’instance Azure Database Migration Service.
    • Choisissez Azure comme mode de service.
    • Sélectionnez un niveau tarifaire. Pour plus d’informations sur les coûts et les niveaux de tarification, consultez la page de tarification.

    Configure Azure Database Migration Service instance basics settings

    • Sélectionnez Suivant : Réseau.
  4. Sous l’onglet Réseau de la page Créer un service de migration :

    • Sélectionnez un réseau virtuel existant ou créez-en un. Le réseau virtuel fournit à Azure Database Migration Service un accès au serveur source et à l’instance cible. Pour plus d’informations sur la création d’un réseau virtuel dans le portail Azure, consultez l’article Créer un réseau virtuel au moyen du portail Azure.

    Configure Azure Database Migration Service instance networking settings

    • Sélectionnez Vérifier + créer pour vérifier les détails, puis sélectionnez Créer pour créer le service.

    • Votre instance d’Azure Database Migration Service est créée et prête à l’emploi au bout de quelques instants :

    Migration service created

Créer un projet de migration

Une fois qu’une instance du service a été créée, recherchez-la dans le Portail Azure, ouvrez-la, puis créez un projet de migration.

  1. Dans le menu du portail Azure, sélectionnez Tous les services. Recherchez et sélectionnez Azure Database Migration Services.

    Locate all instances of Azure Database Migration Service

  2. Dans l’écran Azure Database Migration Services, sélectionnez l’instance Azure Database Migration Service que vous avez créée.

  3. Sélectionnez Nouveau projet de migration.

    Locate your instance of Azure Database Migration Service

  4. Dans l’écran Nouveau projet de migration, spécifiez un nom pour le projet. Dans la zone de texte Type de serveur source, sélectionnez SQL Server. Dans la zone de texte Type de serveur cible, sélectionnez Azure SQL Database Managed Instance. Enfin, dans la zone de texte Choisir un type d’activité, sélectionnez Migration de données hors connexion.

    Create Database Migration Service Project

  5. Sélectionnez Créer et exécuter une activité pour créer le projet et exécuter l’activité de migration.

Spécifier les détails de la source

  1. Dans l’écran Sélectionner la source, spécifiez les détails de connexion de l’instance SQL Server source.

    Veillez à utiliser un nom de domaine complet pour le nom de l’instance SQL Server source. Vous pouvez également utiliser l’adresse IP quand la résolution de noms DNS est impossible.

  2. Si vous n’avez pas installé de certificat approuvé sur votre serveur, cochez la case Faire confiance au certificat de serveur.

    Quand aucun certificat approuvé n’est installé, SQL Server génère un certificat auto-signé au démarrage de l’instance. Ce certificat permet de chiffrer les informations d’identification des connexions clientes.

    Attention

    Les connexions TLS chiffrées à l’aide d’un certificat auto-signé n’offrent pas de sécurité renforcée. Elles sont vulnérables aux attaques de l’intercepteur. Ne faites jamais confiance à une connexion TLS utilisant des certificats autosignés dans un environnement de production ou sur des serveurs connectés à Internet.

    Source Details

  3. Sélectionnez Suivant : sélectionner la cible

Spécifier les détails de la cible

  1. Sur l'écran Sélectionner la cible, spécifiez l'ID d'application et la Clé que l'instance DMS peut utiliser pour se connecter à l'instance cible de SQL Managed Instance et au compte de stockage Azure.

    Pour plus d’informations, consultez l’article Utiliser le portail pour créer une application et un principal de service Microsoft Entra pouvant accéder aux ressources.

  2. Sélectionnez l'Abonnement contenant l'instance cible de SQL Managed Instance, puis sélectionnez SQL Managed Instance cible.

    Si vous n'avez pas encore approvisionné SQL Managed Instance, sélectionnez le lien destiné à vous aider à approvisionner l'instance. Une fois l'instance de SQL Managed Instance prête, retournez à ce projet spécifique pour exécuter la migration.

  3. Indiquez l'Utilisateur SQL et le Mot de passe permettant de se connecter à SQL Managed Instance.

    Select Target

  4. Sélectionnez Suivant : Sélectionner des bases de données.

Spécifier les bases de données sources

  1. Dans l’écran Sélectionner les bases de données, sélectionnez les bases de données sources que vous souhaitez migrer.

Select Source Databases

Important

Si vous utilisez SSIS (SQL Server Integration Services), DMS ne prend pas en charge la migration de la base de données de catalogue de vos projets/packages SSIS (SSISDB) entre SQL Server et SQL Managed Instance. Toutefois, vous pouvez provisionner SSIS dans ADF (Azure Data Factory) et redéployer vos projets/packages SSIS sur la base de données SSISDB de destination hébergée par SQL Managed Instance. Pour plus d’informations sur la migration des packages SSIS, consultez l’article Migrer des packages SQL Server Integration Services vers Azure.

  1. Sélectionnez Suivant : configurer les paramètres de migration.

Configurer les paramètres de migration

  1. Dans l’écran Configurer les paramètres de migration, fournissez les détails suivants :

    Paramètre Description
    SMB Network location share (Partage d’emplacement réseau SMB) Le partage réseau SMB local ou le partage de fichiers Azure contenant les fichiers de sauvegarde complète de la base de données et les fichiers de sauvegarde de fichier journal qu’Azure Database Migration Service peut utiliser pour la migration. Le compte de service qui exécute l’instance source de SQL Server doit avoir des privilèges de lecture et d’écriture pour ce partage réseau. Fournissez un nom de domaine complet ou les adresses IP du serveur dans le partage réseau, par exemple, « \servername.domainname.com\backupfolder » ou « \\IP address\backupfolder ». Pour améliorer les performances, il est recommandé d’utiliser un dossier distinct pour chaque base de données à migrer. Vous pouvez fournir le chemin d’accès du partage de fichiers au niveau de la base de données à l’aide de l’option Paramètres avancés. Si vous rencontrez des problèmes de connexion au partage SMB, consultez Partage SMB.
    Nom d'utilisateur Assurez-vous que l’utilisateur Windows dispose d’un contrôle total sur le partage réseau que vous avez fourni précédemment. Azure Database Migration Service emprunte les informations d’identification de l’utilisateur pour charger les fichiers de sauvegarde sur le conteneur de Stockage Azure pour l’opération de restauration. Si vous utilisez le partage de fichiers Azure, utilisez le nom de compte de stockage précédé de AZURE\ en tant que nom d’utilisateur.
    Mot de passe Mot de passe pour l’utilisateur. Si vous choisissez le partage de fichiers Azure, utilisez une clé de compte de stockage en tant que mot de passe.
    Subscription of the Azure Storage Account (Abonnement du compte Stockage Azure) Sélectionnez l’abonnement qui contient le compte Stockage Azure.
    Compte Stockage Azure Sélectionnez le compte Stockage Azure sur lequel Azure Database Migration Service peut charger les fichiers de sauvegarde à partir du partage réseau SMB et qu’il peut utiliser pour la migration de base de données. Nous vous recommandons de sélectionner le compte de stockage se trouvant dans la même région qu’Azure Database Migration Service pour bénéficier de performances de chargement de fichiers optimales.

    Configure Migration Settings

    Remarque

    Si Azure Database Migration Service indique l’erreur « Erreur système 53 » ou « Erreur système 57 », cela peut signifier qu’Azure Database Migration Service ne peut pas accéder au partage de fichiers Azure. Si vous êtes confronté à l’une de ces erreurs, accordez l’accès au compte de stockage depuis le réseau virtuel en utilisant les instructions ici.

    Important

    Si la fonctionnalité du contrôle de bouclage est activée et que le SQL Server source et le partage de fichiers se trouvent sur le même ordinateur, la source ne peut pas accéder au partage de fichiers à l’aide du FQDN. Pour résoudre ce problème, désactivez la fonctionnalité du contrôle de bouclage à l’aide des instructions indiquées ici.

  2. Sélectionnez Suivant : Résumé.

Examiner le récapitulatif de la migration

  1. Dans l’écran Résumé, spécifiez un nom pour l’activité de migration dans la zone de texte Nom de l’activité.

  2. Examinez et vérifiez les détails associés au projet de migration.

    Migration project summary

Exécuter et surveiller la migration

  1. Sélectionnez Démarrer la migration.

  2. La fenêtre d’activité de la migration apparaît pour afficher l’état de migration des bases de données actuelles. Sélectionnez Actualiser pour mettre à jour l’affichage.

    Migration activity in progress

    Vous pouvez développer davantage les catégories de bases de données et de connexions pour surveiller l’état de la migration des objets serveur respectifs.

    Migration activity status

Exécution du basculement de migration

Une fois la sauvegarde de la base de données complète restaurée sur l'instance cible de SQL Managed Instance, la base de données est disponible pour une migration à basculement.

  1. Lorsque vous êtes prêt à effectuer la migration de base de données en ligne, sélectionnez Démarrer le basculement.

  2. Arrêtez tout le trafic entrant dans les bases de données sources.

  3. Effectuez la [sauvegarde de la fin du journal], mettez le fichier de sauvegarde à disposition dans le partage réseau SMB, puis attendez que cette sauvegarde de fichier journal finale soit restaurée.

    À ce stade, vous devez voir le paramètre Modification en attente défini sur 0.

  4. Sélectionnez Confirmer, puis Appliquer.

    Preparing to complete cutover

    Important

    Après le basculement, la disponibilité de SQL Managed Instance avec le niveau de service critique pour l’entreprise peut prendre beaucoup plus de temps que l’usage général, car trois réplicas secondaires doivent être amorcés pour le groupe de disponibilité Always On. La durée de cette opération dépend de la taille des données. Pour plus d’informations, consultez Durée des opérations de gestion.

  5. Lorsque l'état de la migration de la base de données indique Terminé, connectez vos applications à la nouvelle instance cible de SQL Managed Instance.

    Cutover complete

Ressources supplémentaires