Créer un job de migration pour une source Cloud SQL pour SQL Server

Cette page explique comment créer un job de migration pour les sources Cloud SQL pour SQL Server avec Google Cloud CLI. Pour en savoir plus sur la migration entre des instances Cloud SQL pour SQL Server avec Database Migration Service, consultez le guide de migration pour les sources Cloud SQL pour SQL Server.

Avant de commencer

  1. Assurez-vous de répondre aux exigences suivantes :
    • Vous disposez d'un bucket Cloud Storage pour les fichiers de sauvegarde SQL Server.
    • Vous disposez d'un profil de connexion source pour votre instance source.
    • Vous avez créé et configuré votre instance Cloud SQL pour SQL Server de destination, et vous disposez d'un profil de connexion de destination pour l'instance.
  2. Dans la Google Cloud console, sur la page de sélection du projet, sélectionnez ou créez un Google Cloud projet.

    Accéder au sélecteur de projet

  3. Activez les API Database Migration Service, Compute Engine, Cloud Storage et Cloud SQL Admin.

    Activer les API

Rôles requis

Pour obtenir les autorisations nécessaires pour créer des jobs de migration dans Database Migration Service, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès.

Ces rôles prédéfinis contiennent les autorisations requises pour effectuer des migrations homogènes de SQL Server avec Database Migration Service. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour effectuer des migrations homogènes de SQL Server migrations avec Database Migration Service :

  • datamigration.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.databases.get
  • cloudsql.databases.delete
  • cloudsql.operations.get
  • compute.machineTypes.list
  • compute.machineTypes.get
  • compute.projects.get
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.list

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Définir les paramètres et créer un job de migration

gcloud

Cet exemple utilise l'option facultative --no-async 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'option --no-async pour exécuter les commandes de manière asynchrone. Si vous le faites, vous devez utiliser la gcloud database-migration operations describe commande 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 une machine pour votre job de migration. Vous utilisez cette valeur pour travailler avec des jobs de migration à l'aide des commandes ou de l'API Google Cloud CLI de Database Migration Service.
  • Remplacez REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le job de migration.
  • Remplacez MIGRATION_JOB_NAME par un nom lisible pour votre job de migration. Cette valeur s'affiche dans Database Migration Service dans la Google Cloud console.
  • SOURCE_CONNECTION_PROFILE_ID avec un identifiant lisible par une machine du profil de connexion source.
  • DESTINATION_CONNECTION_PROFILE_ID Remplacez par un identifiant lisible par une machine du profil de connexion de destination.
  • Remplacez DESTINATION_PROJECT_ID par l' Google Cloud identifiant du projet dans lequel se trouve votre instance Cloud SQL pour SQL Server de destination. Il doit s'agir du même projet que celui dans lequel l'API Database Migration Service est activée et dans lequel vous créez le job de migration.
  • Remplacez COMMA_SEPARATED_DATABASE_ID_LIST par une liste d'identifiants de base de données SQL Server séparés par une virgule à partir desquels vous souhaitez effectuer la migration à partir de vos fichiers de sauvegarde.

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 \
  --project=DESTINATION_PROJECT_ID \
  --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 `
  --project=DESTINATION_PROJECT_ID `
  --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 ^
  --project=DESTINATION_PROJECT_ID ^
  --type=CONTINUOUS

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

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

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

Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Résultat

Le job de migration est maintenant créé. Vous pouvez poursuivre le processus de migration :

Étape suivante