Guide de migration : MySQL vers SQL Server

S’applique à :SQL Server

Dans ce guide, vous allez découvrir comment migrer des bases de données MySQL vers SQL Server.

Pour obtenir d’autres guides de migration, consultez les Guides de migration de base de données Azure.

Prérequis

Avant de commencer la migration de votre base de données MySQL vers SQL Server :

Pré-migration

Une fois tous les prérequis remplis, vous êtes prêt à découvrir votre environnement source MySQL et à évaluer la faisabilité de votre migration.

Évaluer

À l’aide de SSMA pour MySQL, vous pouvez examiner les données et les objets de base de données, et évaluer les bases de données en vue de leur migration.

Pour créer une évaluation

  1. Ouvrez SSMA pour MySQL.

  2. Dans le menu Fichier, sélectionnez Nouveau projet.

  3. Entrez le nom du projet, et un emplacement où enregistrer votre projet et la cible de migration. Sélectionnez ensuite SQL Server dans l’option Migrate To.

    Screenshot that shows New Project option.

  4. Dans la boîte de dialogue Connect to MySQL, entrez les détails de connexion et connectez-vous à votre serveur MySQL.

    Screenshot that shows Connect to MySQL option.

  5. Sélectionnez les bases de données MySQL que vous souhaitez migrer.

    Screenshot that shows selecting the MySQL database you want to migrate.

  6. Cliquez avec le bouton droit sur la base de données MySQL dans MySQL Metadata Explorer et sélectionnez Create Report. Vous pouvez également sélectionner l’onglet Create Report en haut à droite.

    Screenshot that shows Create Report feature.

  7. Examinez le rapport HTML pour comprendre les statistiques de conversion et les erreurs ou avertissements. Vous pouvez également ouvrir le rapport dans Excel pour obtenir un inventaire des objets MySQL et de l’effort nécessaire pour effectuer des conversions de schémas. Le dossier de rapport situé dans SSMAProjects est l’emplacement par défaut du rapport, comme illustré ici :

    drive:\Users\<username>\Documents\SSMAProjects\MySQLMigration\report\report_2016_11_12T02_47_55\.

    Screenshot that shows a conversion report.

Valider les mappages de types

Validez les mappages de types de données par défaut et changez-les en fonction des besoins, si nécessaire. Pour cela :

  1. Dans le menu Tools, sélectionnez Project Settings.

  2. Sélectionnez l’onglet Mappage de types.

    Screenshot that shows Type Mapping feature.

  3. Vous pouvez changer le mappage de type pour chaque table en sélectionnant la table dans MySQL Metadata Explorer.

Pour plus d’informations sur les paramètres de conversion dans SSMA pour MySQL, consultez Paramètres du projet (Conversion) (MySQLToSQL).

Convertir le schéma

La conversion d’objets de base de données utilise les définitions d’objets de MySQL, les convertit en objets SQL Server similaires, puis charge ces informations dans les métadonnées SSMA pour MySQL. Les informations ne sont pas chargées dans l’instance de SQL Server. Vous pouvez ensuite afficher les objets et leurs propriétés à l’aide de SQL Server Metadata Explorer.

Pendant la conversion, SSMA pour MySQL imprime les messages de sortie dans le volet de sortie, et les messages d’erreur dans le volet Error List. Utilisez les informations de sortie et d’erreur pour déterminer s’il est nécessaire de modifier vos bases de données MySQL ou votre processus de conversion pour obtenir les résultats de conversion souhaités.

Pour convertir le schéma

  1. (Facultatif) Pour convertir des requêtes dynamiques ou ad hoc, cliquez avec le bouton droit sur le nœud, puis sélectionnez Ajouter une instruction.

  2. Sélectionnez l’onglet Connect to SQL Server.

    1. Entrez les informations de connexion pour votre instance SQL.
    2. Sélectionnez votre instance cible dans la liste déroulante ou entrez un nouveau nom, auquel cas une base de données est créée sur le serveur cible.
    3. Entrez les détails de l’authentification, puis sélectionnez Connect.

    Screenshot that shows Connect to SQL Server.

  3. Cliquez avec le bouton droit sur la base de données MySQL dans MySQL Metadata Explorer, puis sélectionnez Convert Schema. Vous pouvez également sélectionner l’onglet Convert Schema dans l’angle supérieur droit.

    Screenshot that shows Convert Schema option.

  4. Une fois la conversion terminée, comparez et examinez les objets convertis aux objets d’origine afin d’identifier les problèmes potentiels et de les traiter en fonction des recommandations.

    Screenshot that shows comparing and reviewing objects.

  5. Comparez le texte Transact-SQL converti au code d’origine et passez en revue les recommandations.

    Screenshot that shows comparing and reviewing converted code.

  6. Dans le volet de sortie, sélectionnez Passer en revue les recommandations, puis examinez les erreurs dans le volet Liste d’erreurs.

  7. Enregistrez le projet localement pour un exercice de correction de schéma hors connexion. Dans le menu File, sélectionnez Save Project. Cela vous permet d’évaluer les schémas source et cible hors connexion, et d’apporter une correction avant de publier le schéma sur SQL Server.

Pour plus d’informations, consultez Convertir des bases de données MySQL (MySQLToSQL).

Migration

Une fois que les prérequis sont réunis et que vous avez effectué les tâches associées à la phase de prémigration, vous êtes prêt à effectuer la migration du schéma et des données.

Vous disposez de deux options pour la migration des données :

  • Migration des données côté client

    • Pour effectuer une migration des données côté client, sélectionnez l’option Client Side Data Migration Engine dans la boîte de dialogue Project Settings.

    Notes

    Quand l’édition SQL Express est utilisée comme base de données cible, seule la migration des données côté client est autorisée, et la migration des données côté serveur n’est pas prise en charge.

  • Migration des données côté serveur

    • Avant d’effectuer la migration des données côté serveur, vérifiez les éléments suivants :
      • Le pack d’extension SSMA pour MySQL est installé sur l’instance SQL Server.
      • Le service SQL Server Agent est en cours d’exécution sur cette instance SQL Server.
    • Pour effectuer une migration des données côté serveur, sélectionnez l’option Server Side Data Migration Engine dans la boîte de dialogue Project Settings.

Important

Si vous prévoyez d’utiliser le moteur de migration des données côté serveur, avant de migrer les données, vous devez installer le pack d’extension SSMA pour MySQL et les fournisseurs MySQL sur l’ordinateur qui exécute SSMA pour MySQL. Le service SQL Server Agent doit être également être en cours d’exécution. Pour plus d’informations sur la procédure d’installation du pack d’extension, consultez Installation des composants SSMA sur SQL Server (MySQLToSql).

Pour publier votre schéma et migrer les données

  1. Publiez le schéma en cliquant avec le bouton droit sur la base de données dans SQL Server Metadata Explorer, et en sélectionnant Synchronize with Database. Cette action publie la base de données MySQL sur l’instance de SQL Server.

    Screenshot that shows Synchronize with Database.

  2. Révisez le mappage entre votre projet source et votre cible.

    Screenshot that shows reviewing the synchronization with the database.

  3. Migrez les données en cliquant avec le bouton droit sur la base de données ou l’objet que vous souhaitez migrer dans MySQL Metadata Explorer, puis en sélectionnant Migrate Data. Vous pouvez également sélectionner l’onglet Migrate Data. Pour migrer des données pour une base de données entière, cochez la case en regard du nom de la base de données. Pour migrer des données à partir de tables individuelles, développez la base de données, développez Tables, puis cochez les cases en regard des tables. Pour omettre certaines données de tables individuelles, décochez les cases.

    Screenshot that shows Migrate Data option.

  4. Une fois la migration terminée, affichez le rapport de migration des données (Data Migration Report).

    Screenshot that shows the Data Migration Report.

  5. Connectez-vous à votre instance de SQL Server à l’aide de SQL Server Management Studio (SSMS), et validez la migration en examinant les données et le schéma.

    Screenshot that shows validation in SQL Server Management Studio.

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, l’exécution de cette tâche nécessite d’apporter des modifications aux applications.

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. Vous devez créer les 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 performances : exécutez des tests de performances sur la source et sur la cible, puis analysez et comparez les résultats.

Optimiser

La phase postmigration est cruciale pour résoudre les problèmes de justesse et d’exhaustivité des données ainsi que pour gérer les problèmes de performances liés à la charge de travail.

Notes

Pour plus d’informations sur ces problèmes et les étapes spécifiques pour les atténuer, consultez le Guide de validation et d’optimisation post-migration.

Ressources de migration

Pour plus d’informations sur l’exécution de ce scénario de migration, consultez la ressource suivante. Elle a été développée pour soutenir un engagement de projet de migration réel.

Titre Description
Outil et modèle d’évaluation de charge de travail de données Cet outil fournit des suggestions pour les plateformes cibles, la préparation du cloud et le niveau de correction des applications/bases de données qui sont les mieux adaptés pour une charge de travail donnée. Il propose la création simple de rapports et de calculs qui permet d’accélérer l’évaluation des patrimoines étendus en fournissant un processus automatisé et uniforme de prise de décision concernant la plateforme cible.
MySQL vers SQL Server - Utilitaire Comparaison de bases de données L’utilitaire Comparaison de bases de données est une application console Windows que vous pouvez utiliser pour vérifier que les données sont identiques sur les plateformes source et cible. Vous pouvez utiliser cet outil pour comparer efficacement les données jusqu’au niveau de la ligne ou de la colonne sur toutes les tables, lignes et colonnes, ou une partie d’entre elles.

L’équipe d’ingénierie SQL des données a développé ces ressources. La charte fondamentale de cette équipe a pour objet d’initier et d’accélérer une modernisation complexe et de faire face aux projets de migration de plateforme de données vers la plateforme Azure Data de Microsoft.