Gérer les tâches de migration

Dans la console Google Cloud , vous pouvez effectuer des actions groupées pour les tâches de migration ayant le même état. Vous pouvez effectuer des actions sur un seul job de migration à la fois dans la console Google Cloud et à l'aide de Google Cloud CLI.

Vous pouvez effectuer l'une des actions suivantes sur votre tâche de migration:

Action Description
Démarrer Démarrez les tâches de migration qui ne sont pas à l'état En cours d'exécution ou Démarrage. Consultez la section États des tâches de migration.
Arrêter Arrêtez une tâche de migration en cours. Le transfert de données est mis en pause. L'état de la tâche de migration passe d'abord à Stopping, puis à Stopped. Vous pouvez réactiver, supprimer ou promouvoir une tâche de migration arrêtée.
Réactiver Si vous arrêtez une tâche de migration pendant la charge incrémentielle, vous pouvez la reprendre plus tard. Lorsque vous reprenez un job de migration, Database Migration Service récupère tous les fichiers de journal des transactions qui s'accumulent lorsque le job de migration est arrêté.
Redémarrer Vous pouvez redémarrer une tâche de migration qui a rencontré une erreur et ne peut pas poursuivre la réplication des données. Le résultat du redémarrage d'une tâche de migration dépend de la raison de son échec :
  • Les tâches de migration qui échouent et ne peuvent pas récupérer l'erreur réessayent l'ensemble du processus de migration, y compris le chargement initial du fichier de sauvegarde complet.
  • Si la réplication a échoué en raison d'une erreur sur une ou plusieurs bases de données source ou de destination, le redémarrage de la migration efface toutes les données des bases de données de destination.
  • Si vous créez un dossier pour une autre base de données après avoir lancé la migration et que vous l' ajoutez aux bases de données sélectionnées pour la migration, le redémarrage de la migration réplique également les nouvelles bases de données dans l'instance de destination.
Supprimer Une tâche de migration peut être supprimée. Le résultat dépend de l'état de la tâche :
  • Si la tâche de migration est à l'état Completed, l'enregistrement est supprimé de la liste des tâches de migration.
  • Si la tâche de migration est dans un autre état, vous pouvez choisir de supprimer la paire instance Cloud SQL de destination/principale.
Promouvoir Pendant le processus de migration, votre base de données de destination est mise en lecture seule et entièrement gérée par Database Migration Service. Lorsque vous souhaitez passer à la base de données de destination migrée, la promotion du job de migration met à jour la base de données de destination en tant que réplica standalone.
Pendant le processus de migration, vos bases de données Cloud SQL pour SQL Server de destination sont placées en mode de récupération, où elles sont entièrement gérées par Database Migration Service. Vous ne pouvez pas effectuer d'opérations de lecture ou d'écriture sur les bases de données de destination tant que vous n'avez pas promu la tâche de migration. Consultez la section Promouvoir une migration.

Démarrer une tâche de migration

Une fois votre tâche de migration entièrement créée (c'est-à-dire qu'elle n'est pas enregistrée en tant que brouillon), vous pouvez la démarrer à tout moment pour commencer à migrer les données.

Pour démarrer une tâche de migration, procédez comme suit:

Console

  1. Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).

    Accéder à la page "Jobs de migration"

  2. Dans l'onglet Jobs (Tâches), cliquez sur le nom à afficher de la tâche de migration que vous souhaitez démarrer.

    La page d'informations sur la tâche de migration s'ouvre.

  3. Cliquez sur Démarrer.
  4. Dans la boîte de dialogue, cliquez sur Démarrer.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
start MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
start MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
start MIGRATION_JOB_ID ^
  --region=REGION

Résultat

L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: start
name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration :

Arrêter une tâche de migration

Vous pouvez arrêter une tâche de migration en cours d'exécution à tout moment en procédant comme suit:

Console

  1. Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).

    Accéder à la page "Jobs de migration"

  2. Dans l'onglet Jobs (Tâches), cliquez sur le nom à afficher de la tâche de migration que vous souhaitez démarrer.

    La page d'informations sur la tâche de migration s'ouvre.

  3. Cliquez sur Arrêter.
  4. Dans la boîte de dialogue, cliquez sur Arrêter.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
stop MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
stop MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
stop MIGRATION_JOB_ID ^
  --region=REGION

Résultat

L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: stop
name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration :

Reprendre une tâche de migration

Pour reprendre une tâche de migration arrêtée, procédez comme suit:

Console

  1. Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).

    Accéder à la page "Jobs de migration"

  2. Dans l'onglet Jobs (Tâches), cliquez sur le nom à afficher de la tâche de migration que vous souhaitez démarrer.

    La page d'informations sur la tâche de migration s'ouvre.

  3. Cliquez sur Réactiver.
  4. Dans la boîte de dialogue, cliquez sur Reprendre.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
resume MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
resume MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
resume MIGRATION_JOB_ID ^
  --region=REGION

Résultat

L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: resume
name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration :

Redémarrer une tâche de migration

Pour démarrer une tâche de migration, procédez comme suit:

Console

  1. Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).

    Accéder à la page "Jobs de migration"

  2. Dans l'onglet Jobs (Tâches), cliquez sur le nom à afficher de la tâche de migration que vous souhaitez redémarrer.

    La page d'informations sur la tâche de migration s'ouvre.

  3. Cliquez sur Restart (Redémarrer).
  4. Dans la boîte de dialogue, cliquez sur Redémarrer.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
restart MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
restart MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
restart MIGRATION_JOB_ID ^
  --region=REGION

Résultat

L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: restart
name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration :

Mettre à jour un brouillon de tâche de migration

Pour terminer de créer un job de migration, procédez comme suit:

Console

  1. Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).

    Accéder à la page "Jobs de migration"

  2. Dans l'onglet Brouillons, cliquez sur le nom à afficher de la tâche de migration que vous souhaitez terminer.

    L'assistant de création de tâche de migration s'ouvre.

  3. Terminez de créer la tâche de migration. Consultez la section Créer une tâche de migration.

gcloud

Cet exemple utilise l'option --no-async facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur --no-async pour exécuter des commandes de manière asynchrone. Dans ce cas, vous devez utiliser la commande gcloud database-migration operations describe pour vérifier si votre opération a réussi.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID avec un identifiant lisible par machine pour votre tâche de migration.
  • REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le profil de connexion.
  • MIGRATION_JOB_NAME par un nom lisible pour votre tâche de migration. Cette valeur s'affiche dans Database Migration Service de la console Google Cloud .
  • SOURCE_CONNECTION_PROFILE_ID avec un identifiant lisible par machine du profil de connexion source.
  • DESTINATION_CONNECTION_PROFILE_ID avec un identifiant lisible par machine du profil de connexion de destination.
  • Configuration de la sauvegarde différentielle: vous pouvez configurer si la tâche de migration peut utiliser des fichiers de sauvegarde différentielle à partir du bucket Cloud Storage. Ajoutez l'une des options suivantes à votre commande :
    • --sqlserver-diff-backup pour activer les fichiers de sauvegarde différentielle pour votre migration
    • --no-sqlserver-diff-backup pour désactiver les fichiers de sauvegarde différentielle pour votre migration

    Pour en savoir plus sur les fichiers de sauvegarde acceptés, consultez la section Types de fichiers de sauvegarde acceptés.

  • COMMA_SEPARATED_DATABASE_ID_LIST avec une liste d'identifiants de base de données du SQL Server que vous souhaitez migrer à partir de vos fichiers de sauvegarde, séparés par une virgule.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
create MIGRATION_JOB_ID \
  --no-async \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME \
  --source=SOURCE_CONNECTION_PROFILE_ID \
  --destination=DESTINATION_CONNECTION_PROFILE_ID \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \
  --type=CONTINUOUS]

Windows (PowerShell)

gcloud database-migration migration-jobs `
create MIGRATION_JOB_ID `
  --no-async `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME `
  --source=SOURCE_CONNECTION_PROFILE_ID `
  --destination=DESTINATION_CONNECTION_PROFILE_ID `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST `
  --type=CONTINUOUS]

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
create MIGRATION_JOB_ID ^
  --no-async ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME ^
  --source=SOURCE_CONNECTION_PROFILE_ID ^
  --destination=DESTINATION_CONNECTION_PROFILE_ID ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^
  --type=CONTINUOUS]

Vous devriez obtenir un résultat semblable à celui-ci :

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Ajouter des bases de données à la tâche de migration

Pour ajouter une base de données à la tâche de migration, vous devez d'abord créer un dossier dédié dans votre bucket Cloud Storage et y importer les fichiers de sauvegarde. Consultez Configurer des buckets Cloud Storage.

Une fois que vous avez les fichiers de sauvegarde nécessaires dans le bucket Cloud Storage, procédez comme suit:

Console

  1. Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).

    Accéder à la page "Jobs de migration"

  2. Dans l'onglet Tâches, cliquez sur le nom à afficher de votre tâche de migration.

    La page d'informations sur la tâche de migration s'ouvre.

  3. Cliquez sur Modifier.
  4. Dans la section Sélectionner des bases de données à migrer, cochez les cases correspondant à la nouvelle base de données que vous souhaitez ajouter à la tâche de migration.
  5. (Facultatif) Si vous utilisez des sauvegardes chiffrées, fournissez les clés de chiffrement de vos sauvegardes. Pour en savoir plus sur l'utilisation des sauvegardes chiffrées, consultez la section Utiliser des sauvegardes chiffrées.

    Effectuez les actions suivantes :

    • Cliquez sur Modifier les informations à côté de la base de données que vous avez sélectionnée pour la migration.

      Le panneau latéral Chiffrement s'ouvre.

    • Utilisez les menus déroulants Clé de chiffrement pour sélectionner vos clés.
    • Dans le champ Password (Mot de passe), saisissez le mot de passe de la clé de chiffrement.
    • Cliquez sur Enregistrer et quitter.

gcloud

Cet exemple utilise l'option --no-async facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur --no-async pour exécuter des commandes de manière asynchrone. Dans ce cas, vous devez utiliser la commande gcloud database-migration operations describe pour vérifier si votre opération a réussi.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
  • COMMA_SEPARATED_DATABASE_ID_LIST avec une liste d'identifiants de base de données du SQL Server que vous souhaitez migrer à partir de vos fichiers de sauvegarde, séparés par une virgule. Ces identifiants doivent être identiques aux noms de dossiers de base de données dans votre Cloud Storage.

    Par exemple : --sqlserver-databases=my-business-database,my-other-database

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Windows (PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Vous devriez obtenir un résultat semblable à celui-ci :

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Modifier une tâche de migration

Pour les tâches de migration non provisoires, vous pouvez utiliser la Google Cloud CLI pour modifier leur nom à afficher.

Cet exemple utilise l'option --no-async facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur --no-async pour exécuter des commandes de manière asynchrone. Dans ce cas, vous devez utiliser la commande gcloud database-migration operations describe pour vérifier si votre opération a réussi.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
  • MIGRATION_JOB_NAME par un nom lisible pour votre tâche de migration. Cette valeur s'affiche dans Database Migration Service de la console Google Cloud .

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME 

Windows (PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME 

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME 

Vous devriez obtenir un résultat semblable à celui-ci :

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Tester une tâche de migration

Avant d'exécuter la tâche de migration, vous pouvez effectuer une opération de test pour vérifier si Database Migration Service peut atteindre toutes les entités source et de destination nécessaires. Dans la console Google Cloud , vous ne pouvez tester que les tâches de migration que vous créez dans l'assistant de création de tâches de migration (voir Créer une tâche de migration).

Avec gcloud CLI, vous pouvez tester les tâches de migration créées, mais pas encore démarrées.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.

    Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants.

  • REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
verify MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
verify MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
verify MIGRATION_JOB_ID ^
  --region=REGION

Résultat

L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: verify
name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration :