Migrationsjob für eine Cloud SQL for SQL Server-Quelle erstellen

Auf dieser Seite wird beschrieben, wie Sie mit der Google Cloud CLI einen Migrationsjob für Cloud SQL for SQL Server-Quellen erstellen. Weitere Informationen zur Migration zwischen Cloud SQL for SQL Server-Instanzen mit dem Database Migration Service finden Sie in der Migrationsanleitung für Cloud SQL for SQL Server-Quellen.

Hinweis

  1. Folgende Anforderungen müssen erfüllt sein:
    • Sie haben einen Cloud Storage-Bucket für SQL Server-Sicherungsdateien.
    • Sie haben ein Quellverbindungsprofil für Ihre Quellinstanz.
    • Sie haben Ihre Cloud SQL for SQL Server-Zielinstanz erstellt und konfiguriert und verfügen über ein Zielverbindungsprofil für die Instanz.
  2. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Aktivieren Sie die Database Migration Service, Compute Engine, Cloud Storage und Cloud SQL Admin APIs.

    APIs aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Migrationsjobs in Database Migration Service benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen homogener SQL Server-Migrationen mit Database Migration Service erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um homogene SQL Server-Migrationen mit Database Migration Service auszuführen:

  • 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

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Einstellungen festlegen und Migrationsjob erstellen

gcloud

In diesem Beispiel wird das optionale Flag --no-async verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass die Ausführung einiger Befehle eine Weile dauern kann. Sie können das Flag --no-async überspringen, um Befehle asynchron auszuführen. In diesem Fall müssen Sie den Befehl gcloud database-migration operations describe verwenden, um zu prüfen, ob der Vorgang erfolgreich war.

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • MIGRATION_JOB_ID durch eine maschinenlesbare Kennung für Ihren Migrationsjob. Sie verwenden diesen Wert, um mit Migrationsjobs über Google Cloud CLI-Befehle oder die API des Database Migration Service zu arbeiten.
  • REGION durch die Regionskennung, in der Sie den Migrationsjob speichern möchten.
  • MIGRATION_JOB_NAME durch einen menschenlesbaren Namen für den Migrationsjob. Dieser Wert wird in Database Migration Service in der Google Cloud Console angezeigt.
  • SOURCE_CONNECTION_PROFILE_ID durch eine maschinenlesbare Kennung des Quellverbindungsprofils.
  • DESTINATION_CONNECTION_PROFILE_ID durch eine maschinenlesbare Kennung des Zielverbindungsprofils.
  • DESTINATION_PROJECT_ID durch die Projekt-ID von Google Cloud , in der sich Ihre Cloud SQL for SQL Server-Zielinstanz befindet. Dies muss dasselbe Projekt sein, in dem Sie die Database Migration Service API aktiviert haben und in dem Sie den Migrationsjob erstellen.
  • COMMA_SEPARATED_DATABASE_ID_LIST durch eine durch Kommas getrennte Liste von Datenbank-IDs des SQL Servers, den Sie aus Ihren Sicherungsdateien migrieren möchten.

Führen Sie folgenden Befehl aus:

Linux, macOS oder 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

Sie sollten eine Antwort ähnlich der folgenden erhalten:

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]
Ergebnis

Der Migrationsjob wurde erstellt. So können Sie mit der Migration fortfahren:

Nächste Schritte