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 Database Migration Service finden Sie im Migrationsleitfaden für Cloud SQL for SQL Server-Quellen.
Hinweis
- Sie müssen die folgenden Anforderungen erfüllen:
- 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 APIs für Database Migration Service, Compute Engine, Cloud Storage und Cloud SQL Admin.
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:
-
Administrator für die Datenbankmigration (
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 dem 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 durchzufü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 definieren 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 mit dem Befehl
gcloud database-migration operations describe prüfen, ob der Vorgang erfolgreich war.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- MIGRATION_JOB_ID durch eine maschinenlesbare ID für Ihren Migrationsjob. Sie verwenden diesen Wert, um mit Migrationsjobs mithilfe von Google Cloud CLI-Befehlen oder der API von Database Migration Service zu arbeiten.
- REGION durch die Regions-ID, in der Sie den Migrationsjob speichern möchten.
- MIGRATION_JOB_NAME durch einen für Menschen lesbaren Namen für Ihren 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 mit einer maschinenlesbaren Kennung des Zielverbindungsprofils.
- DESTINATION_PROJECT_ID mit der Google Cloud Projekt-ID, in der sich die Ziel-Cloud SQL for SQL Server-Instanz 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 mit einer durch Kommas getrennten Liste von Datenbankkennungen der SQL Server-Instanz, die 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 fahren Sie mit der Migration fort:
- 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.