Migration d'une base de données SQL serveur vers Babelfish pour Aurora Postgre SQL - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migration d'une base de données SQL serveur vers Babelfish pour Aurora Postgre SQL

Vous pouvez utiliser Babelfish for Aurora Postgre SQL pour migrer une base de données de SQL serveur vers un cluster de base de données Amazon Aurora SQL Postgre. Avant toute migration, consultez Utilisation de Babelfish avec une ou plusieurs bases de données.

Présentation du processus de migration

Le résumé suivant répertorie les étapes nécessaires pour réussir la migration de votre application SQL serveur et la faire fonctionner avec Babelfish. Pour plus d'informations sur les outils que vous pouvez utiliser pour les processus d'exportation et d'importation, et pour plus de détails, consultez Outils d'import/export pour migrer du SQL serveur vers Babelfish. Pour charger les données, nous vous recommandons d'utiliser AWS DMS avec un cluster de SQL base de données Aurora Postgre comme point de terminaison cible.

  1. Créez un nouveau cluster de SQL base de données Aurora Postgre avec Babelfish activé. Pour savoir comment procéder, veuillez consulter la section Création d'un cluster de base de données Babelfish pour Aurora Postgre SQL.

    Pour importer les différents SQL artefacts exportés depuis la base de données de votre SQL serveur, connectez-vous au cluster Babelfish à l'aide d'un outil SQL serveur tel que sqlcmd. Pour de plus amples informations, veuillez consulter Utilisation d'un client SQL Server pour se connecter au cluster de bases de données.

  2. Sur la base de données SQL du serveur que vous souhaitez migrer, exportez le langage de définition des données (DDL). DDLIl s'agit d'un SQL code qui décrit les objets de base de données contenant des données utilisateur (telles que des tables, des index et des vues) et du code de base de données écrit par l'utilisateur (tel que des procédures stockées, des fonctions définies par l'utilisateur et des déclencheurs).

    Pour de plus amples informations, veuillez consulter Utiliser SQL Server Management Studio (SSMS) pour migrer vers Babelfish.

  3. Exécutez un outil d'évaluation pour évaluer l'étendue des modifications que vous pourriez avoir besoin d'apporter afin que Babelfish puisse prendre en charge efficacement l'application exécutée sur SQL le serveur. Pour de plus amples informations, veuillez consulter Évaluation et gestion des différences entre SQL Server et Babelfish.

  4. Passez en revue le AWS DMS cibler les limites des terminaux et mettre à jour le DDL script si nécessaire. Pour plus d'informations, consultez Limitations relatives à l'utilisation d'un point de terminaison SQL cible Postgre avec des tables Babelfish dans Utilisation de Babelfish pour Aurora SQL Postgre comme cible.

  5. Sur votre nouveau cluster de base de données Babelfish, exécutez la SQL base DDL de données T spécifiée pour créer uniquement les schémas, les types de données définis par l'utilisateur et les tables avec leurs contraintes de clé primaire.

  6. Utiliser AWS DMS pour migrer vos données du SQL serveur vers les tables Babelfish. Pour une réplication continue à l'aide de la capture ou de la SQL réplication des données relatives aux modifications SQL du serveur, utilisez Aurora Postgre SQL au lieu de Babelfish comme point de terminaison. Pour ce faire, consultez l'article Utiliser Babelfish pour Aurora Postgre SQL comme cible pour AWS Database Migration Service.

  7. Lorsque le chargement des données est terminé, créez tous les SQL objets T restants qui supportent l'application sur votre cluster Babelfish.

  8. Reconfigurez votre application cliente pour qu'elle se connecte au point de terminaison Babelfish plutôt qu'à la base de données de votre SQL serveur. Pour de plus amples informations, veuillez consulter Connexion à un cluster de bases de données Babelfish.

  9. Modifiez l'application si nécessaire et procédez à un nouveau test. Pour de plus amples informations, veuillez consulter Différences entre Babelfish for Aurora PostgreSQL et SQL Server.

Vous devez tout de même évaluer vos requêtes côté client. SQL Les schémas générés à partir de votre instance de SQL serveur ne convertissent que le code côté serveurSQL. Nous vous recommandons d'effectuer les étapes suivantes :

  • Capturez les requêtes côté client en utilisant le profileur de SQL serveur avec le modèle prédéfini TSQL _Replay. Ce modèle capture les informations de l'SQLinstruction T que vous pouvez ensuite rejouer à des fins de réglage et de test itératifs. Vous pouvez démarrer le profileur dans SQL Server Management Studio depuis le menu Outils. Choisissez SQLServer Profiler pour ouvrir le profileur et choisissez le modèle TSQL _Replay.

    Pour l'utiliser pour votre migration Babelfish, démarrez une trace, puis exécutez votre application à l'aide de vos tests fonctionnels. Le profileur capture les SQL instructions T. Une fois que vous avez terminé le test, arrêtez la trace. Enregistrez le résultat dans un XML fichier contenant vos requêtes côté client (Fichier > Enregistrer sous > Fichier de suivi pour XML réexécution).

    Pour plus d'informations, consultez SQLServer Profiler dans la documentation Microsoft. Pour plus d'informations sur le modèle TSQL _Replay, consultez la section Modèles de profileur de SQL serveur.

  • Pour les applications avec des SQL requêtes complexes côté client, nous vous recommandons d'utiliser Babelfish Compass pour analyser la compatibilité de ces requêtes avec Babelfish. Si l'analyse indique que les SQL instructions côté client contiennent des SQL fonctionnalités non prises en charge, passez en revue les SQL aspects dans l'application client et modifiez-les si nécessaire.

  • Vous pouvez également capturer les SQL requêtes sous forme d'événements étendus (format .xel). Pour ce faire, utilisez le SSMS XEvent profileur. Après avoir généré le fichier .xel, extrayez les SQL instructions dans des fichiers .xml que Compass pourra ensuite traiter. Pour plus d'informations, consultez la section Utiliser le SSMS XEvent Profler dans la documentation Microsoft.

Lorsque vous êtes satisfait de tous les tests, de toutes les analyses et de toutes les modifications nécessaires pour votre application migrée, vous pouvez commencer à utiliser votre base de données Babelfish en production. Pour ce faire, arrêtez la base de données d'origine et redirigez les applications clientes actives pour qu'elles utilisent le port BabelfishTDS.

Note

AWS DMS prend désormais en charge la réplication des données de Babelfish. Pour plus d’informations, consultez .AWS DMS supporte désormais Babelfish pour Aurora Postgre en SQL tant que source.

Évaluation et gestion des différences entre SQL Server et Babelfish

Pour de meilleurs résultats, nous vous recommandons d'évaluer le code de requêteDDL/généré DML et le code de requête client avant de migrer votre application de base de données SQL Server vers Babelfish. En fonction de la version de Babelfish et des fonctionnalités spécifiques du SQL serveur implémentées par votre application, vous devrez peut-être refactoriser votre application ou utiliser des alternatives pour des fonctionnalités qui ne sont pas encore entièrement prises en charge dans Babelfish.

  • Pour évaluer le code de votre application SQL serveur, utilisez Babelfish Compass sur le code généré DDL pour déterminer la quantité de SQL code T supportée par Babelfish. Identifiez le SQL code T qui pourrait nécessiter des modifications avant de s'exécuter sur Babelfish. Pour plus d'informations sur cet outil, consultez l'outil Babelfish Compass sur. GitHub

    Note

    Babelfish Compass est un outil open source. Signalez tout problème avec Babelfish Compass par le biais GitHub plutôt que par le biais AWS Support.

Vous pouvez utiliser l'assistant de génération de script avec SQL Server Management Studio (SSMS) pour générer le SQL fichier évalué par Babelfish Compass ou AWS Schema Conversion Tool CLI. Nous recommandons les étapes suivantes pour rationaliser l'évaluation.

  1. Sur la page Choose Objects (Choisir des objets), sélectionnez Script entire database and all database objects (Script de la base de données entière et tous les objets de la base de données).

    Utilisation de l'assistant de SSMS génération de script pour sélectionner des objets.
  2. Pour l'option Set Scripting Options (Définir les options de script), choisissez Save as script file (Enregistrer comme fichier de script) en tant que Single script file (Fichier de script unique).

    Utilisation de l'assistant de SSMS génération de script pour définir les options de script.
  3. Choisissez Advanced (Avancé) pour modifier les options de script par défaut afin d'identifier les fonctionnalités qui sont normalement définies sur faux pour une évaluation complète :

    • Option Script Change Tracking définie sur True

    • Option Script Full-Text Indexes définie sur True

    • Option Script Triggers définie sur True

    • Option Script Logins définie sur True

    • Option Script Owner définie sur True

    • Option Script Object-Level Permissions définie sur True

    • Option Script Collations définie sur True

    Utilisation de l'assistant de SSMS génération de script pour définir les options de script avancées.
  4. Effectuez les étapes restantes de l'assistant pour générer le fichier.

Outils d'import/export pour migrer du SQL serveur vers Babelfish

Nous vous recommandons d'utiliser AWS DMS comme outil principal pour migrer de SQL Server vers Babelfish. Cependant, Babelfish prend en charge plusieurs autres méthodes de migration de données à l'aide des outils SQL du serveur, notamment les suivants.

  • SQLServices d'intégration de serveurs (SSIS) pour toutes les versions de Babelfish. Pour plus d'informations, consultez Migrer d'un SQL serveur vers Aurora Postgre à SQL l'aide de SSIS Babelfish.

  • Utilisez l'assistant SSMS d'Import/Export pour les versions 2.1.0 et ultérieures de Babelfish. Cet outil est disponible via leSSMS, mais il est également disponible en tant qu'outil autonome. Pour plus d'informations, consultez la section Bienvenue dans l'assistant d'importation et d'exportation du SQL serveur dans la documentation Microsoft.

  • L'utilitaire Microsoft Bulk Data Copy Program (bcp) vous permet de copier des données d'une instance Microsoft SQL Server vers un fichier de données au format que vous spécifiez. Pour plus d'informations, consultez Utilitaire bcp dans la documentation Microsoft. Babelfish prend désormais en charge la migration des données à l'aide du BCP client et l'utilitaire bcp prend désormais en charge le -E drapeau (pour les colonnes d'identité) et le drapeau -b (pour les insertions par lots). Certaines options de bcp ne sont pas prises en charge, notamment -C, -T, -G, -K, -R, -V et -h.

Utiliser SQL Server Management Studio (SSMS) pour migrer vers Babelfish

Nous recommandons de générer des fichiers séparés pour chacun des types d'objets spécifiques. Vous pouvez d'abord utiliser l'assistant de génération de scripts SSMS pour chaque ensemble d'DDLinstructions, puis modifier les objets en tant que groupe pour résoudre les problèmes détectés lors de l'évaluation.

Procédez comme suit pour migrer les données à l'aide de AWS DMS ou d'autres méthodes de migration de données. Exécutez d'abord ces types de scripts de création pour une approche plus efficace et plus rapide du chargement des données sur les tables Babelfish dans Aurora Postgre. SQL

  1. Exécutez les instructions CREATE SCHEMA.

  2. Exécutez les instructions CREATE TYPE pour créer des types de données définis par l'utilisateur.

  3. Exécutez les instructions CREATE TABLE de base avec les clés primaires ou les contraintes uniques.

Effectuez le chargement des données en utilisant l'outil d'importation/exportation recommandé. Exécutez les scripts modifiés pour les étapes suivantes afin d'ajouter les objets de base de données restants. Vous avez besoin des instructions de création de table pour exécuter ces scripts pour les contraintes, les déclencheurs et les index. Une fois les scripts générés, supprimez les instructions de création de table.

  1. Exécutez les instructions ALTER TABLE pour les contraintes de contrôle, les contraintes de clé étrangère, les contraintes par défaut.

  2. Exécutez les instructions CREATE TRIGGER.

  3. Exécutez les instructions CREATE INDEX.

  4. Exécutez les instructions CREATE VIEW.

  5. Exécutez les instructions CREATE STORED PROCEDURE.

Pour générer des scripts pour chaque type d'objet

Procédez comme suit pour créer les instructions de base de création de table à l'aide de l'assistant de génération de scripts deSSMS. Suivez les mêmes étapes pour générer des scripts pour les différents types d'objets.

  1. Connectez-vous à votre instance de SQL serveur existante.

  2. Ouvrez le menu contextuel (clic droit) à partir d'un nom de base de données.

  3. Choisissez Tasks (Tâches), puis Generate Scripts... (Générer des scripts...).

  4. Dans le panneau Choose Objects (Choisir des objets), choisissez Select specific database objects (Sélectionner des objets de base de données spécifiques). Choisissez Tables, puis sélectionnez toutes les tables. Choisissez Next (Suivant) pour continuer.

    Utilisation de l'assistant de SSMS génération de scripts pour choisir des objets et des tables.
  5. Sur la page Set Scripting Options (Définir les options de script), choisissez Advanced (Avancé) pour ouvrir les paramètres Options. Pour générer les instructions de base de création de table, modifiez les valeurs par défaut suivantes :

    • Option Script Defaults définie sur False.

    • Option Script Extended Properties définie sur False. Babelfish ne prend pas en charge les propriétés étendues.

    • Option Script Check Constraints définie sur False. Option Script Foreign Keys définie sur False.

    Utilisation de l'assistant de SSMS génération de script pour définir les options avancées.
  6. Choisissez OK.

  7. Sur la page Set Scripting Options (Définir les options de script), choisissez Save as script file (Enregistrer comme fichier de script), puis choisissez l'option Single script file (Fichier de script unique). Saisissez votre File name (Nom de fichier).

    Utilisation de l'assistant de SSMS génération de script pour définir les valeurs par défaut du script.
  8. Choisissez Next (Suivant) pour afficher la page Summary wizard (Assistant Résumé).

  9. Choisissez Next (Suivant) pour lancer la génération du script.

    Vous pouvez continuer à générer des scripts pour les autres types d'objets dans l'assistant. Au lieu de choisir Finish (Terminer) après l'enregistrement du fichier, cliquez trois fois sur le bouton Previous (Précédent) pour revenir à la page Choose Objects (Choisir des objets). Répétez ensuite les étapes de l'assistant pour générer des scripts pour les autres types d'objets.