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
- 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.
- Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.
- Aktivieren Sie die Database Migration Service, Compute Engine, Cloud Storage und Cloud SQL Admin APIs.
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:
-
Database Migration Admin (
roles/datamigration.admin) -
Storage-Administrator (
roles/storage.admin) -
Cloud SQL-Bearbeiter (
roles/cloudsql.editor)
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.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.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]
Der Migrationsjob wurde erstellt. So können Sie mit der Migration fortfahren:
- (Optional) Führen Sie einen Migrationsjobtest durch, um zu prüfen, ob Database Migration Service alle erforderlichen Quell- und Zielentitäten erreichen kann.
- Starten Sie den Migrationsjob, um mit dem Verschieben Ihrer Daten in die Zielinstanz zu beginnen.