Guide de migration : SQL Server vers SQL Server sur les machines virtuelles Azure

S’applique à :SQL Server sur la machine virtuelle Azure

Dans ce guide, vous allez apprendre à découvrir, évaluer et migrer vos bases de données utilisateur de SQL Server vers une instance de SQL Server sur des machines virtuelles Azure en utilisant des outils et des techniques basés sur vos exigences.

Vous pouvez migrer SQL Server s’exécutant en local ou sur :

  • SQL Server sur les machines virtuelles.
  • Amazon Web Services (AWS) EC2.
  • Amazon Relational Database Service (AWS RDS).
  • Compute Engine (Google Cloud Platform [GCP]).

Pour plus d’informations sur des stratégies de migration supplémentaires, consultez la vue d’ensemble de la migration de machine virtuelle SQL Server. Pour obtenir d’autres guides de migration, consultez les Guides de migration de base de données Azure.

Diagram that shows a migration process flow.

Prérequis

La migration vers SQL Server sur les machines virtuelles Azure requiert les ressources suivantes :

Prémigration

Avant de commencer votre migration, vous devez découvrir la topologie de votre environnement SQL et évaluer la faisabilité de la migration prévue.

Découvrez

Azure Migrate évalue la pertinence de la migration des ordinateurs locaux, effectue un dimensionnement en fonction des performances et fournit des estimations de coût pour une exécution locale. Pour planifier la migration, utilisez Azure Migrate afin d’identifier les sources de données existantes ainsi que les détails relatifs aux fonctionnalités utilisées par vos instances de SQL Server. Ce processus implique une analyse du réseau pour identifier toutes les instances de SQL Server de votre organisation ainsi que la version et les fonctionnalités utilisées.

Important

Quand vous choisissez une machine virtuelle Azure cible pour votre instance SQL Server, veillez à prendre en compte les Recommandations de performances pour SQL Server sur les machines virtuelles Azure.

Pour accéder à des outils de découverte supplémentaires, consultez Services et outils disponibles pour les scénarios de migration de données.

Évaluer

Lors de la migration de SQL Server local vers SQL Server sur des machines virtuelles Azure, il est peu probable que vous ayez des problèmes de compatibilité ou de parité des fonctionnalités si les versions source et cible de SQL Server sont identiques. Si vous ne mettez pas à niveau la version de SQL Server, ignorez cette étape et passez à la section Migrer.

Avant la migration, c’est néanmoins une bonne pratique d’effectuer une évaluation de vos bases de données SQL Server pour identifier les bloqueurs de migration (le cas échéant) : l’extension de migration Azure SQL pour Azure Data Studio effectue cette opération avant la migration.

Notes

Si vous évaluez l’ensemble du patrimoine de données SQL Server à grande échelle sur VMware, utilisez Azure Migrate pour obtenir des recommandations de déploiement Azure SQL, le dimensionnement de la cible et des estimations mensuelles.

Évaluer les bases de données utilisateur

L’extension de migration Azure SQL pour Azure Data Studio fournit une expérience fluide basée sur un assistant pour effectuer l’évaluation, obtenir des recommandations Azure et migrer vos bases de données SQL Server locales vers des machines virtuelles Azure. Outre mettre en évidence les éléments bloquants ou les avertissements liés à la migration, l’extension inclut également une option pour obtenir des recommandations d’Azure en collectant les données de performances de vos bases de données afin de recommander une instance de SQL Server sur des machines virtuelles Azure de taille appropriée pour répondre aux besoins de performances de votre charge de travail (au meilleur prix).

Pour plus d’informations sur les recommandations Azure, consultez Obtenir une recommandation Azure sur une taille appropriée pour votre ou vos bases de données SQL Server locales

Important

Pour évaluer des bases de données en utilisant l’extension de migration Azure SQL, vérifiez que les connexions utilisées pour connecter la source SQL Server sont membres du rôle serveur sysadmin ou disposent de l’autorisation CONTROL SERVER.

Pour la mise à niveau d’une version, utilisez l’Assistant Migration de données pour évaluer les instances locales SQL Server si vous effectuez une mise à niveau vers une instance de SQL Server sur des machines virtuelles Azure avec une version supérieure pour comprendre les différences entre les versions source et cible.

Évaluer les applications

En règle générale, la couche Application accède aux bases de données utilisateur pour conserver et modifier les données. L’Assistant Migration de données peut évaluer la couche d’accès aux données d’une application de deux manières :

  • À l’aide des événements étendus capturés ou des traces du SQL Server Profiler de vos bases de données utilisateur. Vous pouvez également vous servir de l’Assistant Expérimentation de base de données afin de créer un journal des traces utilisable pour les tests A/B.
  • À l’aide de l’outil Data Access Migration Toolkit (préversion) qui permet de découvrir et d’évaluer les requêtes SQL contenues dans le code et de migrer le code source de l’application d’une plateforme de base de données vers une autre. Cet outil prend en charge les types de fichiers populaires tels que C#, Java, XML et le texte brut. Pour obtenir un guide sur l’exécution d’une évaluation avec l’outil Data Access Migration Toolkit, consultez le billet de blog Use Data Migration Assistant (Utiliser l’Assistant Migration de données).

Lors de l’évaluation des bases de données utilisateur, utilisez l’Assistant Migration de données pour importer les fichiers de trace capturés ou les fichiers du Data Access Migration Toolkit.

Évaluation à grande échelle

Si vous avez plusieurs serveurs qui nécessitent une évaluation de la préparation à Azure, vous pouvez automatiser le processus avec des scripts en utilisant une des options suivantes. Pour en savoir plus sur l’utilisation de scripts, consultez Migrer des bases de données à grande échelle en utilisant l’automatisation.

Pour les rapports récapitulatifs portant sur de grands patrimoines, les évaluations de l’Assistant Migration de données peuvent aussi être centralisées dans Azure Migrate.

Mettre à niveau des bases de données avec l’Assistant Migration de données

Pour un scénario de mise à niveau, vous pouvez avoir une série de recommandations qui vous permettent de garantir que vos bases de données utilisateur fonctionneront correctement après la migration. L’Assistant Migration de données fournit des détails sur les objets affectés, ainsi que des ressources pour la résolution de chaque problème. Veillez à résoudre tous les changements cassants et tous les changements de comportement avant de commencer la mise à niveau de production.

Pour les fonctionnalités déconseillées, vous pouvez choisir d’exécuter vos bases de données utilisateur dans leur mode de compatibilité d’origine, si vous souhaitez éviter d’effectuer ces changements afin d’accélérer la migration. Cette action empêchera la mise à niveau de la compatibilité de votre base de données tant que les éléments déconseillés n’auront pas été résolus.

Attention

Toutes les versions de SQL Server ne prennent pas en charge l’ensemble des modes de compatibilité. Vérifiez que votre version cible de SQL Server prend en charge la compatibilité de base de données choisie. Par exemple, SQL Server 2019 ne prend pas en charge les bases de données ayant le niveau de compatibilité 90 (qui correspond à SQL Server 2005). Ces bases de données nécessitent au moins une mise à niveau vers le niveau de compatibilité 100.

Migrer

Une fois que vous avez effectué les étapes de pré-migration, vous êtes prêt à migrer les bases de données utilisateur et les composants. Migrez vos bases de données à l’aide de la méthode de migration que vous préférez.

Les sections suivantes fournissent des options pour effectuer une migration dans l’ordre de préférence :

Migrer avec l’extension de migration Azure SQL pour Azure Data Studio (temps d’arrêt minimal)

Pour effectuer une migration avec un temps d’arrêt minimal en utilisant Azure Data Studio, suivez les étapes générales ci-dessous. Pour obtenir un tutoriel pas à pas, consultez Migrer SQL Server vers SQL Server sur des machines virtuelles Azure en ligne avec Azure Data Studio :

  1. Téléchargez et installez Azure Data Studio et l’extension de migration Azure SQL.
  2. Lancez l’Assistant Migration vers Azure SQL de l’extension dans Azure Data Studio.
  3. Sélectionnez des bases de données pour évaluation, et consultez l’état de préparation ou les problèmes de la migration (le cas échéant). Collectez aussi des données de performances et obtenez une recommandation Azure pour une taille appropriée.
  4. Sélectionnez votre compte Azure et votre instance SQL Server cible sur des machines virtuelles Azure à partir de votre abonnement.
  5. Sélectionnez l’emplacement de vos sauvegardes de base de données. Vos sauvegardes de base de données peuvent se trouver sur un partage réseau local ou dans un conteneur Stockage Blob Azure.
  6. Créez un service Azure Database Migration Service en utilisant l’Assistant dans Azure Data Studio. Si vous avez déjà créé un service Azure Database Migration Service en utilisant Azure Data Studio, vous pouvez réutiliser le même si vous le souhaitez.
  7. Facultatif : Si vos sauvegardes se trouvent sur un partage réseau local, téléchargez et installez le runtime d’intégration auto-hébergé sur une machine qui peut se connecter au serveur SQL Server source et à l’emplacement contenant les fichiers de sauvegarde.
  8. Démarrez la migration de la base de données et surveillez la progression dans Azure Data Studio. Vous pouvez aussi surveiller la progression sous la ressource Azure Database Migration Service dans le portail Azure.
  9. Effectuez le basculement.
    1. Arrêtez toutes les transactions entrantes vers la base de données source.
    2. Apportez les changements de configuration nécessaires aux applications pour pointer vers la base de données cible dans SQL Server sur les machines virtuelles Azure.
    3. Effectuez les sauvegardes de fin de journal pour la base de données source à l’emplacement de sauvegarde spécifié.
    4. Vérifiez que toutes les sauvegardes de base de données sont à l’état Restauré dans la page des détails de la supervision.
    5. Sélectionnez Terminer le basculement dans la page des détails de la supervision.

Sauvegarde et restauration

Pour effectuer une migration standard à l’aide de la fonctionnalité de sauvegarde et restauration :

  1. Configurez la connectivité vers SQL Server sur les machines virtuelles Azure en fonction de vos exigences. Pour plus d’informations, consultez Se connecter à une machine virtuelle SQL Server sur Azure (Resource Manager).
  2. Suspendez ou arrêtez toutes les applications qui utilisent des bases de données qui doivent migrer.
  3. Vérifiez que les bases de données utilisateur sont inactives à l’aide du mode utilisateur unique.
  4. Effectuez une sauvegarde complète de la base de données vers un emplacement sur site.
  5. Copiez vos fichiers de sauvegarde locaux sur votre machine virtuelle avec le Bureau à distance, Azure Data Explorer ou l’utilitaire en ligne de commande AzCopy. (Espace recommandé pour les sauvegardes : supérieur à 2 To).
  6. Restaurez les sauvegardes complètes de base de données vers SQL Server sur les machines virtuelles Azure.

Détacher et attacher à partir d’une URL

Détachez votre base de données et vos fichiers journaux et transférez-les vers le stockage Blob Azure. Puis attachez la base de données sur votre machine virtuelle Azure à partir de l’URL. Utilisez cette méthode si vous souhaitez que les fichiers de la base de données physique résident dans le stockage Blob, ce qui peut être utile pour les bases de données très volumineuses. Utilisez les étapes générales suivantes pour faire migrer une base de données utilisateur à l’aide de cette méthode manuelle :

  1. Détachez les fichiers de base de données de l’instance de base de données sur site.
  2. Copiez les fichiers de la base de données détachée dans Stockage Blob Azure à l’aide de l’utilitaire de ligne de commande AZCopy.
  3. Attachez les fichiers de base de données à partir de l’URL Azure à l’instance de SQL Server dans la machine virtuelle Azure.

Effectuer une conversion vers une machine virtuelle, télécharger vers une URL et déployer en tant que nouvelle machine virtuelle

Cette méthode permet de migrer toutes les bases de données système et utilisateur dans une instance SQL Server locale vers une machine virtuelle Azure. Utilisez les étapes générales suivantes pour exécuter la migration d’une instance de SQL Server entière à l’aide de cette méthode manuelle :

  1. Convertir des machines physiques ou virtuelles en disques durs virtuels Hyper-V.
  2. Télécharger les fichiers VHD sur Azure Storage à l’aide de l’ applet de commande Add-AzureVHD.
  3. Déployer une nouvelle machine virtuelle en utilisant le VHD téléchargé.

Notes

Pour migrer une application entière, vous pouvez utiliser Azure Site Recovery.

Copie des journaux de transaction

La copie des journaux de transaction réplique les fichiers journaux de transactions locaux dans une instance SQL sur une machine virtuelle Azure. Cette option permet de réduire au minimum les temps d’arrêt pendant le basculement et de réduire les frais de configuration par rapport à la configuration d’un groupe de disponibilité Always On.

Pour plus d’informations, consultez Tables et procédures stockées liées à la copie des journaux de transaction.

Expédier un disque dur

Vous pouvez utiliser la méthode de service Import/Export Azure pour transférer de grandes quantités de données de fichiers vers le stockage d’objets blob Azure lorsque le coût de l’opération de téléchargement via le réseau est prohibitif, voire irréalisable. Avec ce service, vous envoyez un ou plusieurs disques durs contenant ces données à un centre de données Azure, où vos données seront téléchargées sur votre compte de stockage.

Migrer des objets en dehors des bases de données utilisateur

Des objets SQL Server supplémentaires sont parfois requis pour garantir un fonctionnement fluide de vos bases de données utilisateur après la migration.

Le tableau ci-dessous fournit une liste des composants de référence et des méthodes de migration recommandées à appliquer avant ou après la migration de vos bases de données utilisateur.

Fonctionnalité Composant Méthodes de migration
Bases de données Modèle Script avec SQL Server Management Studio.
Base de données tempdb Pour des performances optimales, prévoyez le déplacement de la base de données tempdb sur un disque temporaire (SSD) de machine virtuelle Azure. Veillez à choisir une machine virtuelle disposant d’un disque SSD local dont la taille est suffisante pour accueillir votre base de données tempdb.
Bases de données utilisateur avec FileStream Utilisez les méthodes de sauvegarde et de restauration pour la migration. L’Assistant Migration de données ne prend pas en charge les bases de données avec FileStream.
Sécurité Connexions SQL Server et Windows Utilisez l’Assistant Migration de données pour migrer les connexions utilisateur.
Rôles SQL Server Script avec SQL Server Management Studio.
Fournisseurs de chiffrement Recommandez la conversion pour utiliser Azure Key Vault. Cette procédure utilise le fournisseur de ressources de machines virtuelles SQL.
Objets de serveur Unités de sauvegarde Remplacez-les par une sauvegarde de base de données à l’aide de Sauvegarde Azure ou écrivez les sauvegardes dans le Stockage Azure (SQL Server 2012 SP1 CU2 +). Cette procédure utilise le fournisseur de ressources de machines virtuelles SQL.
Serveurs liés Script avec SQL Server Management Studio.
Déclencheurs de serveur Script avec SQL Server Management Studio.
Réplication Publications locales Script avec SQL Server Management Studio.
Abonnés locaux Script avec SQL Server Management Studio.
PolyBase PolyBase Script avec SQL Server Management Studio.
Gestion Messagerie de base de données Script avec SQL Server Management Studio.
SQL Server Agent travaux Script avec SQL Server Management Studio.
Alertes Script avec SQL Server Management Studio.
Opérateurs Script avec SQL Server Management Studio.
Proxies Script avec SQL Server Management Studio.
Système d'exploitation Fichiers, partages de fichiers Notez tous les autres fichiers ou partages de fichiers utilisés par vos serveurs SQL Server et répliquez-les sur la cible de machine virtuelle Azure.

Post-migration

Une fois la phase de migration terminée, vous devez effectuer une série de tâches post-migration pour vous assurer que tout fonctionne de la manière la plus fluide et efficace possible.

Corriger les applications

Une fois les données migrées vers l’environnement cible, toutes les applications qui consommaient la source doivent commencer à consommer la cible. Dans certains cas, il peut être nécessaire d’apporter des modifications aux applications.

Appliquez les correctifs recommandés par l’Assistant Migration de données aux bases de données utilisateur. Vous devez générer un script de ces correctifs pour garantir la cohérence et permettre l’automatisation.

Effectuer des tests

L’approche de test pour la migration de base de données comprend les activités suivantes :

  1. Développer des tests de validation : pour tester la migration d’une base de données, vous devez utiliser des requêtes SQL. Créez des requêtes de validation à exécuter sur les bases de données source et cible. Vos requêtes de validation doivent couvrir l’étendue que vous avez définie.
  2. Configurer un environnement de test : L’environnement de test doit contenir une copie de la base de données source et de la base de données cible. Veillez à isoler l’environnement de test.
  3. Exécuter des tests de validation : exécutez les tests de validation sur la source et sur la cible, puis analysez les résultats.
  4. Exécuter des tests de performance : exécutez des tests de performances sur la source et sur la cible, puis analysez et comparez les résultats.

Conseil

Utilisez l’Assistant Expérimentation de base de données pour faciliter l’évaluation des performances du serveur cible SQL Server.

Optimiser

La phase post-migration est cruciale pour résoudre les problèmes d’exactitude et vérifier l’exhaustivité des données, ainsi que pour traiter les problèmes de performances liés à la charge de travail.

Pour plus d’informations sur ces problèmes et les étapes pour les atténuer, consultez :

Étapes suivantes

Pour vérifier la disponibilité des services qui s’appliquent à SQL Server, consultez le Centre de l’infrastructure mondiale Azure.

Si vous souhaitez obtenir une matrice des services et outils Microsoft et tiers qui peuvent vous aider dans différents scénarios de migration de données et de base de données ainsi que pour des tâches spécialisées, consultez Services et outils disponibles pour les scénarios de migration de données.

Pour en savoir plus sur Azure SQL, consultez :

Pour en savoir plus sur l’infrastructure et le cycle d’adoption des migrations cloud, consultez :

Pour plus d’informations sur la gestion des licences, consultez :

Pour évaluer la couche d’accès aux applications, consultez Data Access Migration Toolkit (préversion).

Pour plus d’informations sur la façon d’effectuer un test A/B pour la couche d’accès aux données, consultez Vue d’ensemble de l’Assistant Expérimentation de base de données.