Cette rubrique explique comment utiliser la console DTS pour migrer des données entre des instances ApsaraDB RDS for SQL Server. Vous pouvez configurer la migration du schéma, la migration complète des données et la migration incrémentielle des données. La combinaison de ces types de migration permet une transition fluide sans interruption de service de l'application.
Prérequis
Les instances RDS SQL Server source et cible doivent exister.
L'espace de stockage de l'instance cible doit être supérieur à l'espace utilisé par l'instance source. S'il est insuffisant, augmentez l'espace de stockage de l'instance.
Instructions
Précautions
Passez en revue ces précautions avant de démarrer la migration. Dans le cas contraire, la tâche risque d'échouer ou de générer une erreur :
Limite du nombre de bases de données : Une seule tâche de migration peut migrer au maximum 10 bases de données. Le dépassement de cette limite peut compromettre la stabilité et les performances.
Limite du nombre de tables : Si une tâche inclut une migration incrémentielle, elle peut synchroniser au maximum 1 000 tables depuis la base de données source. Le dépassement de cette limite peut entraîner une latence ou une instabilité de la tâche.
Restrictions sur les opérations de la base de données source : Pendant les phases de migration du schéma et de migration complète, n'effectuez pas d'opérations DDL sur les schémas de base de données ou de table. Dans le cas contraire, la tâche de migration échouera.
Exigences relatives à la structure des tables : Les tables à migrer doivent disposer d'une clé primaire ou d'une contrainte unique. Dans le cas contraire, des doublons de données peuvent apparaître dans la base de données de destination.
Clés étrangères et déclencheurs : Si la tâche de migration inclut une migration incrémentielle, vous devez désactiver les déclencheurs actifs et les clés étrangères dans la base de données de destination. Dans le cas contraire, la tâche risque d'échouer ou des pertes de données peuvent survenir.
Conventions de nommage des bases de données : Si un nom de base de données ne respecte pas les conventions de nommage de RDS SQL Server, vous devez créer manuellement la base de données dans RDS SQL Server avant la migration. Dans le cas contraire, la tâche risque de ne pas s'exécuter correctement.
Période de conservation des journaux des transactions : Pour une tâche de migration incrémentielle, les journaux des transactions de la base de données source doivent être conservés pendant plus de 24 heures. Pour une tâche qui inclut à la fois une migration complète et une migration incrémentielle, les journaux des transactions doivent être conservés pendant au moins 7 jours. Dans le cas contraire, la tâche risque d'échouer ou des incohérences de données peuvent survenir.
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
Migration du schéma et migration complète des données |
Gratuit. |
Lorsque le paramètre Access Method de la base de données de destination est défini sur Public IP Address, des frais de trafic Internet vous sont facturés. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
|
Migration incrémentielle des données |
Payant. Pour plus d'informations, consultez la rubrique Présentation de la facturation. |
Autorisations requises pour les comptes de base de données
Pour garantir le succès de la migration des données, vérifiez que les comptes des bases de données source et de destination disposent des autorisations suivantes :
Vous pouvez utiliser la console RDS pour créer un compte et modifier les autorisations du compte selon vos besoins.
|
Base de données |
Migration du schéma |
Migration complète |
Migration incrémentielle |
|
Instance source |
Autorisation de lecture |
Autorisation de lecture |
Droits de propriété sur les objets à migrer. |
|
Instance de destination |
Autorisation de lecture/écriture |
||
Procédure
Dans le volet de navigation de gauche, cliquez sur Data Migration. Dans la barre de navigation supérieure, sélectionnez une région.
-
Cliquez sur Create Task et configurez les bases de données source et de destination.
Catégorie
Paramètre
Description
S.O.
Data Migration
Saisissez un nom descriptif pour vous aider à identifier la tâche. Le nom n'a pas besoin d'être unique. Vous pouvez également utiliser le nom généré par le système.
Create Task
Task Name
Si vous avez enregistré la connexion à la base de données source sur la page DTS Data Connection Management, vous pouvez la sélectionner ici pour éviter de ressaisir les informations.
Source Database
Sélectionnez Select Existing Connection.
Database Type
Sélectionnez SQL Server.
Access Method
Sélectionnez la région où se trouve l'instance RDS for SQL Server source.
cloud instance
Cet exemple migre des données au sein du même compte Alibaba Cloud. Sélectionnez Instance Region.
Cross-account
Sélectionnez l'ID de l'instance RDS for SQL Server source.
Within the Same Account
Saisissez le compte de base de données pour l'instance RDS for SQL Server source et assurez-vous que le compte dispose des autorisations requises.
RDS instance ID
Saisissez le mot de passe du compte de base de données.
Database Account
-
Si le chiffrement SSL n'est pas activé sur la base de données source, sélectionnez Database Password.
-
Si le chiffrement SSL est activé sur la base de données source, sélectionnez Encryption. DTS fait confiance au certificat du serveur par défaut.
Non-encrypted
SSL-encrypted
Si vous avez enregistré la connexion à la base de données de destination sur la page DTS Data Connection Management, vous pouvez la sélectionner ici pour éviter de ressaisir les informations.
Destination Database
Sélectionnez Select Existing Connection.
Database Type
Sélectionnez SQL Server.
Access Method
Sélectionnez la région où se trouve l'instance RDS for SQL Server de destination.
cloud instance
Sélectionnez l'ID de l'instance RDS for SQL Server de destination.
Instance Region
Saisissez le compte de base de données pour l'instance RDS for SQL Server de destination et assurez-vous que le compte dispose des autorisations requises.
Instance ID
Saisissez le mot de passe du compte de base de données.
Database Account
-
Si le chiffrement SSL n'est pas activé sur la base de données de destination, sélectionnez Database Password.
-
Si le chiffrement SSL est activé sur la base de données de destination, sélectionnez Encryption. DTS fait confiance au certificat du serveur par défaut.
-
-
Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.
RemarqueAssurez-vous que les plages CIDR des serveurs DTS sont ajoutées aux paramètres de sécurité des bases de données source et de destination, automatiquement ou manuellement, pour autoriser l'accès.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Paramètre
Description
Non-encrypted
-
Pour une migration complète, sélectionnez SSL-encrypted et Test Connectivity and Proceed.
-
Pour une migration sans temps d'arrêt, sélectionnez Configure Objects, Migration Types et Schema Migration.
Remarque-
Pour plus d'informations, consultez l'Annexe : Opérations SQL prises en charge pour la migration incrémentielle.
-
Si vous ne sélectionnez pas Full Data Migration, assurez-vous que la base de données de destination contient déjà les bases de données et les tables requises. Selon vos besoins, vous pouvez également utiliser la fonctionnalité de mappage des noms d'objets dans la zone Schema Migration.
-
Si vous ne sélectionnez pas Full Data Migration, n'écrivez pas de nouvelles données dans l'instance source pendant la migration des données. Cela garantit la cohérence des données.
Incremental Data Migration
Sélectionnez une méthode de migration des déclencheurs en fonction de vos besoins. Si les objets à migrer n'impliquent pas de déclencheurs, vous pouvez ignorer ce paramètre.
RemarqueCe paramètre est disponible uniquement lorsque vous sélectionnez à la fois Schema Migration et Selected Objects pour Incremental Data Migration.
Method to Migrate Triggers in Source Database
Remarque-
Ce paramètre est disponible uniquement si SQL Server Incremental Synchronization Mode est sélectionné pour Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing).
-
Si la base de données source est une instance RDS for SQL Server Web Edition, vous devez définir SQL Server Incremental Synchronization Mode sur Polling and querying CDC instances for incremental synchronization.
-
En mode d'analyse hybride des journaux (lorsque Incremental Data Migration est défini sur Migration Types), les versions suivantes de la base de données source sont prises en charge :
Enterprise ou Enterprise Evaluation : 2012, 2014, 2016, 2019, 2022 ou 2025.
Standard : 2016, 2019, 2022 ou 2025.
SQL Server Incremental Synchronization Mode
Spécifie le nombre maximal de tables sur lesquelles le CDC peut être activé pour l'instance de migration. La valeur par défaut est 1 000.
RemarqueCe paramètre n'est pas disponible lorsque Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) est défini sur SQL Server Incremental Synchronization Mode.
Use Log Parsing for Incremental Synchronization of Non-heap Tables and CDC for Heap Tables
-
The maximum number of tables for which CDC is enabled that DTS supports. : DTS vérifie la présence de tables dans la base de données de destination portant le même nom que les tables de la base de données source. Si aucune table conflictuelle n'est trouvée, la tâche passe la pré-vérification. En cas de conflit, la pré-vérification échoue et la tâche est bloquée.
Solution : si vous ne pouvez pas supprimer ou renommer la table conflictuelle dans la base de données de destination, vous pouvez utiliser le mappage des noms d'objets pour modifier le nom de la table dans la destination.
-
SQL Server Incremental Synchronization Mode : ignore la vérification des tables portant le même nom dans la base de données de destination.
AvertissementLa sélection de Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) peut entraîner une incohérence des données et des risques commerciaux. Par exemple :
-
Si les schémas de table sont identiques et que la base de données de destination contient déjà des enregistrements avec les mêmes valeurs de clé primaire que la source :
-
Pendant la phase de migration complète, DTS conserve les enregistrements de destination existants et ignore la migration des enregistrements source correspondants.
-
Pendant la phase de migration incrémentielle, les nouvelles données de la base de données source peuvent écraser les données de la base de données de destination, ce qui peut entraîner une perte de données historiques dans la base de données de destination.
-
-
Si les schémas de table sont incohérentes, seules certaines colonnes de données peuvent être migrées, ou la migration peut échouer. Agissez avec prudence.
-
Processing Mode of Conflicting Tables
Dans la zone Precheck and Report Errors, cliquez sur les objets à migrer, puis cliquez sur
pour les déplacer vers la zone Ignore Errors and Proceed.RemarqueLa granularité de sélection des objets de migration est le schéma, la table et la colonne. Si vous ne sélectionnez que des tables ou des colonnes comme objets de migration, les autres objets tels que les vues, les déclencheurs et les procédures stockées ne sont pas migrés vers la base de données de destination.
Ignore Errors and Proceed
-
Pour modifier le nom d'un seul objet de migration dans l'instance cible, faites un clic droit sur l'objet dans la zone Source Objects. Pour plus d'informations, consultez la section Mapper les noms individuels de schéma, de table et de colonne.
-
Pour modifier les noms de plusieurs objets de migration dans l'instance cible, cliquez sur Source Objects dans le coin supérieur droit de la zone Selected Objects. Pour plus d'informations, consultez la section Mapper plusieurs noms de schéma, de table et de colonne.
Remarque-
Si vous utilisez le mappage des noms d'objets, la migration des objets dépendants peut échouer.
-
Pour filtrer les données à l'aide d'une clause WHERE, faites un clic droit sur la table souhaitée dans la zone Selected Objects et définissez une condition de filtre dans la boîte de dialogue qui s'affiche.
-
Pour sélectionner les opérations SQL à migrer au niveau de la base de données ou de la table, faites un clic droit sur l'objet dans la zone Selected Objects et sélectionnez les opérations SQL souhaitées dans la boîte de dialogue qui s'affiche.
-
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Paramètre
Description
Selected Objects
Par défaut, DTS planifie les tâches sur un cluster partagé. Vous n'avez pas besoin d'en sélectionner un. Si vous souhaitez des tâches plus stables, vous pouvez acheter un cluster dédié pour exécuter les tâches de migration DTS.
Batch Edit
Une fois la tâche de migration démarrée, si la connexion à la base de données source ou de destination échoue, DTS signale une erreur et commence immédiatement à retenter la connexion. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez personnaliser la durée de nouvelle tentative à une valeur comprise entre 10 et 1 440 minutes. Nous vous recommandons de définir la durée à plus de 30 minutes. Si DTS se reconnecte aux bases de données source et de destination dans la durée spécifiée, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou la même destination, la durée de nouvelle tentative réseau est déterminée par le paramètre de la dernière tâche créée.
Étant donné que la tâche est facturée pendant la période de nouvelle tentative de connexion, nous vous recommandons de personnaliser la durée de nouvelle tentative en fonction de vos besoins professionnels, ou de libérer l'instance DTS dès que possible après la libération des instances de base de données source et de destination.
Selected Objects
Une fois la tâche de migration démarrée, si un problème autre que la connectivité, tel qu'une exception d'exécution DDL ou DML, se produit dans la base de données source ou de destination, DTS signale une erreur et commence immédiatement à retenter l'opération. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez personnaliser la durée de nouvelle tentative à une valeur comprise entre 1 et 1 440 minutes. Nous vous recommandons de définir la durée à plus de 10 minutes. Si les opérations associées réussissent dans la durée de nouvelle tentative spécifiée, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur de Selected Objects doit être inférieure à la valeur de Next: Advanced Settings.
Dedicated Cluster for Task Scheduling
Pendant la migration complète, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Si nécessaire, vous pouvez activer la limitation de débit pour la tâche de migration complète. Vous pouvez définir Retry Time for Failed Connections, Retry Time for Other Issues et Retry Time for Other Issues pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Retry Time for Failed Connections pour Enable Throttling for Full Data Migration.
Vous pouvez également ajuster la vitesse de migration complète une fois que l'instance de migration est en cours d'exécution.
Queries per second (QPS) to the source database
Si nécessaire, vous pouvez également choisir de définir des limites de vitesse pour la tâche de migration incrémentielle. Vous pouvez définir RPS of Full Data Migration et Data migration speed for full migration (MB/s) pour réduire la charge sur la base de données de destination.
RemarqueCet élément de configuration est disponible uniquement si vous sélectionnez Incremental Data Migration pour Migration Types.
Vous pouvez également ajuster la vitesse de migration incrémentielle une fois que l'instance de migration est en cours d'exécution.
Enable Throttling for Incremental Data Migration
Vous pouvez sélectionner une balise d'environnement pour identifier l'instance. Cela n'est pas requis pour cet exemple.
RPS of Incremental Data Migration
En fonction de vos besoins professionnels, choisissez de configurer ou non la fonctionnalité ETL pour traiter les données.
Data migration speed for incremental migration (MB/s) : configure la fonctionnalité ETL. Vous devez également saisir des instructions de traitement des données dans la zone de texte.
Incremental Data Migration : ne configure pas la fonctionnalité ETL.
Migration Types
Choisissez de définir ou non des alertes et de recevoir des notifications d'alerte en fonction de vos besoins professionnels.
Environment Tag : ne définit pas d'alerte.
Configure ETL : configurez les alertes en définissant un seuil d'alerte et des notifications d'alerte. Si une migration échoue ou si la latence dépasse le seuil, le système envoie une notification d'alerte.
-
Cliquez sur Next: Data Validation pour configurer une tâche de validation des données.
Pour plus d'informations sur la fonctionnalité de validation des données, consultez la section Configurer la validation des données.
-
-
Enregistrez la tâche et exécutez une pré-vérification.
Pour afficher les paramètres de configuration de cette instance lors de l'appel de l'opération API, placez le pointeur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle qui s'affiche.
Si vous n'avez pas besoin d'afficher ou si vous avez terminé d'afficher les paramètres de l'API, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS effectue une pré-vérification. La tâche ne démarre qu'après avoir réussi la pré-vérification.
Si la pré-vérification échoue, cliquez sur View Details à côté de l'élément de vérification ayant échoué, corrigez le problème selon l'invite, puis relancez la pré-vérification.
-
Si un avertissement est signalé lors de la pré-vérification :
Pour les éléments de vérification qui ne peuvent pas être ignorés, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème selon l'invite, puis relancez la pré-vérification.
Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'élément d'avertissement et relancer la pré-vérification. Si vous choisissez d'ignorer un avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.
-
Achetez l'instance.
Lorsque le Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la spécification de liaison pour l'instance de migration de données. Pour plus d'informations, consultez le tableau suivant.
Catégorie
Paramètre
Description
Yes
No
Sélectionnez le groupe de ressources auquel appartient l'instance. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez la section Qu'est-ce que la gestion des ressources ?
Monitoring and Alerting
DTS propose des spécifications de migration avec différents niveaux de performance. La spécification de liaison affecte la vitesse de migration. Vous pouvez sélectionner une spécification en fonction de votre scénario professionnel. Pour plus d'informations, consultez la section Spécifications de liaison de migration de données.
Une fois la configuration terminée, lisez et acceptez les <!--@uicontrol {"id":"d8e4a2757dm8a","data-isbold="true"}-->Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start. Dans la boîte de dialogue OK qui s'affiche, cliquez sur OK.
Vous pouvez consulter la progression de la tâche de migration sur la page de liste Data Migration Tasks.
RemarqueSi la tâche de migration n'inclut pas de migration incrémentielle, elle s'arrête automatiquement une fois la migration complète terminée. Une fois la tâche arrêtée, son Status passe à Completed.
Si la tâche de migration inclut une migration incrémentielle, elle ne s'arrête pas automatiquement. La tâche de migration incrémentielle continue de s'exécuter. Pendant l'exécution de la tâche de migration incrémentielle, le Status de la tâche est Running.
ALTER TABLE, limité aux opérations ADD COLUMN, DROP COLUMN et RENAME COLUMN
-
CREATE TABLE et CREATE INDEX
RemarqueL'opération CREATE TABLE ne prend pas en charge le partitionnement ni les définitions de table contenant des fonctions.
DROP TABLE
RENAME TABLE
TRUNCATE TABLE
Les opérations LDD transactionnelles ne peuvent pas être migrées. Par exemple, une instruction SQL unique qui ajoute plusieurs colonnes ou inclut à la fois des opérations LDD et LMD peut entraîner une perte de données.
Les opérations LDD sur les types définis par l'utilisateur ne peuvent pas être migrées.
Les opérations LDD en ligne ne peuvent pas être migrées.
Les opérations LDD utilisant un mot clé réservé comme nom d'attribut ne peuvent pas être migrées.
Les opérations LDD exécutées par des procédures stockées système ne peuvent pas être migrées.
DTS ne prend pas en charge les opérations
TRUNCATE TABLE.
Opérations SQL pour la migration incrémentielle
Opérations LMD
INSERT, UPDATE, DELETE
Les instructions UPDATE qui ne modifient que des objets volumineux (LOB) ne peuvent pas être migrées.