Tutoriel : Migrer SQL Server vers une instance managée SQL Azure hors connexion à 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 une instance managée SQL Azure. Pour connaître des méthodes supplémentaires pouvant nécessiter un effort manuel, consultez l’article SQL Server vers Azure SQL Managed Instance.

Dans ce tutoriel, vous allez migrer la base de données AdventureWorks2016 à partir d’une instance de SQL Server locale vers SQL Managed Instance en utilisant Azure Database Migration Service.

Vous apprendrez à :

  • Inscrivez le fournisseur de ressources Azure DataMigration.
  • Créer une instance Azure Database Migration Service.
  • Créer un projet de migration en utilisant Azure Database Migration Service.
  • Exécuter la migration.
  • Surveiller la migration.

Important

Pour les migrations hors connexion à partir de SQL Server vers une instance managée SQL, Azure Database Migration Service peut créer les fichiers de sauvegarde pour vous. Vous pouvez également fournir la dernière sauvegarde complète de la base de données dans le partage réseau SMB que le service utilisera pour migrer vos bases de données. Chaque sauvegarde peut être enregistrée dans un fichier de sauvegarde distinct ou dans plusieurs fichiers de sauvegarde. Toutefois, l’ajout de plusieurs sauvegardes sur un seul support de sauvegarde n’est pas pris en charge. Notez que vous pouvez également utiliser des sauvegardes compressées pour réduire le risque de problèmes liés à la migration de sauvegardes volumineuses.

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 hors connexion de SQL Server vers une instance managée SQL. Pour une migration en ligne, consultez Migrer SQL Server vers une instance managée SQL en ligne à 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.

  • 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, Stockage 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, vous devrez peut-être ajouter des règles de pare-feu pour permettre à Azure Database Migration Service d’accéder 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.

    Notes

    Par défaut, Azure Database Migration Service prend uniquement en charge la migration des connexions SQL. Toutefois, vous pouvez rendre possible la migration des connexions Windows en procédant comme suit :

    • Vérifiez que le service SQL Managed Instance cible dispose d’un accès en lecture à AAD, et que cet accès peut être configuré via le portail Azure par un utilisateur doté du rôle Administrateur général.
    • Configurez votre instance Azure Database Migration Service pour activer la migration des connexions d’utilisateur ou de groupe Windows, qui est configurée via le Portail Azure, dans la page Configuration. Après avoir activé ce paramètre, redémarrez le service pour que les modifications prennent effet.

    Après le redémarrage du service, les connexions d’utilisateur ou de groupe Windows apparaissent dans la liste des connexions disponibles pour la migration. Pour toutes les connexions d’utilisateur ou de groupe Windows que vous migrez, vous êtes invité à fournir le nom de domaine associé. Les comptes d’utilisateur de service (comptes avec le nom de domaine NT AUTHORITY) et les comptes d’utilisateur virtuels (nom de compte avec le nom de domaine NT SERVICE) ne sont pas pris en charge.

  • Créez un partage réseau que le service Azure Database Migration Service pourra utiliser pour sauvegarder la base de données source.

  • 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 conteneur d’objets blob et récupérez son URI SAS en suivant les étapes de l’article Gérer les ressources Azure Blob Storage avec l’Explorateur de stockage (version préliminaire). Veillez à sélectionner toutes les autorisations (lecture, écriture, suppression, liste) dans la fenêtre de la stratégie lors de la création de l’URI SAS. Ces détails permettent au service Azure Database Migration Service d’accéder au conteneur de votre compte de stockage afin de charger les fichiers de sauvegarde utilisés pour migrer les bases de données vers une instance managée SQL.

    Notes

    • Quand vous configurez les paramètres du compte de stockage à l’étape Configurer les paramètres de migration, notez qu’Azure Database Migration Service ne prend pas en charge l’utilisation de jeton SAS.
  • Vérifiez que l’adresse IP Azure Database Migration Service et le sous-réseau Azure SQL Managed Instance peuvent communiquer avec le conteneur d’objets blob.

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. Dans l’écran Sélectionner la cible, spécifiez les informations de connexion de la cible, notamment SQL Managed Instance pré-approvisionné vers laquelle vous migrez la base de données AdventureWorks2016.

    Si vous n’avez pas encore provisionné l’instance managée SQL, sélectionnez le lien vous permettant de la provisionner. Vous pouvez néanmoins procéder à la création du projet. Quand l’instance managée SQL prête, revenez à ce projet pour exécuter la migration.

    Select Target

  2. Sélectionnez Suivant : Sélectionner des bases de données. Sur l’écran Sélectionner des bases de données, sélectionnez la base de données AdventureWorks2016 pour la migration.

    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.

  3. Sélectionnez Suivant : sélectionner les connexions

Sélectionner des connexions

  1. Dans l’écran Sélectionner des connexions, sélectionnez les connexions que vous souhaitez migrer.

    Notes

    Par défaut, Azure Database Migration Service prend uniquement en charge la migration des connexions SQL. Pour activer la prise en charge de la migration des connexions Windows, consultez la section Conditions préalables requises de ce tutoriel.

    Select logins

  2. 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
    Choisir une option de sauvegarde source Lorsque vous disposez déjà des fichiers de sauvegarde complète qu’Azure Database Migration Service doit utiliser pour la migration de base de données, choisissez l’option Je fournirai les derniers fichiers de sauvegarde. Si vous souhaitez que DMS crée la sauvegarde complète des bases de données sources et l’utilise pour la migration, choisissez l’option J’autorise Azure Database Migration Service à créer des fichiers de sauvegarde.
    Partage d’emplacement réseau Partage réseau SMB local qu’Azure Database Migration Service peut utiliser pour les sauvegardes de base de données source. Le compte de service qui exécute l’instance source de SQL Server doit avoir des privilèges 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, '\\nomserveur.nomdomaine.com\dossiersauvegarde''\ ou '\\adresse IP\dossiersauvegarde'.
    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 utilise les informations d’identification de l’utilisateur afin de charger les fichiers de sauvegarde dans le conteneur de stockage Azure pour l'opération de restauration. Si vous avez sélectionné pour la migration des bases de données compatibles avec Transparent Data Encryption (TDE), l’utilisateur Windows ci-dessus doit correspondre au compte Administrateur intégré, et Contrôle de compte d’utilisateur doit être désactivé pour qu’Azure Database Migration Service puisse charger et supprimer les fichiers de certificat.
    Mot de passe Mot de passe pour l’utilisateur.
    Paramètres du compte de stockage URI SAS qui permet au service Azure Database Migration Service d’accéder au conteneur de votre compte de stockage dans lequel le service charge les fichiers de sauvegarde et qui est utilisé pour effectuer la migration des bases de données vers l’instance managée SQL. Découvrez comment obtenir l’URI SAS du conteneur d’objets blob. Cet URI SAS doit être destiné au conteneur d’objets blob et non au compte de stockage.
    Paramètres TDE Si vous migrez les bases de données sources compatibles avec TDE (Transparent Data Encryption), vous devez disposer de privilèges d’accès en écriture sur l’instance managée SQL cible. Dans le menu déroulant, sélectionnez l’abonnement dans lequel l’instance managée SQL a été provisionnée. Dans le second menu déroulant, sélectionnez l’instance Azure SQL Database Managed Instance cible.

    Configure Migration Settings

  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 la migration

  • Sélectionnez Démarrer la migration.

    La fenêtre d’activité de migration qui s’ouvre affiche l’état actuel de la migration des bases de données et des connexions.

Surveiller la migration

  1. Dans l’écran de l’activité de migration, sélectionnez Actualiser pour mettre à jour l’affichage.

    Screenshot that shows the migration activity screen and the Refresh button.

  2. 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 in progress

  3. Une fois la migration terminée, vérifiez la base de données cible présente sur l’environnement SQL Managed Instance.

Ressources supplémentaires