Der Database Migration Service verwendet Migrationsjobs, um Daten aus Ihren Quelldatenbanken in die Cloud SQL-Zielinstanz zu migrieren. Migrationsjobs helfen Ihnen, die Quell- und Zielverbindungsprofile zu organisieren, spezifische Einstellungen für den Migrationsprozess zu definieren, den Fortschritt zu überwachen und den gesamten Vorgang sicher abzuschließen.
Das Erstellen eines Migrationsjobs umfasst die folgenden Aufgaben:
Quell- und Zielverbindungsprofile auswählen
Wählen Sie die in Ihrer Quellinstanz erkannten Datenbanken aus, die Sie migrieren möchten.
Migrationsjob testen, um sicherzustellen, dass der Database Migration Service eine Verbindung zu Ihrer Datenquelle und Ihrem Ziel herstellen kann
Starten Sie den Migrationsjob und beobachten Sie den Fortschritt.
Migrationsjob hochstufen, wenn Sie Ihre Anwendung auf die neue Instanz umstellen möchten.
Hinweis
- Sie müssen die folgenden Anforderungen erfüllen:
- Sie haben einen Cloud Storage-Bucket für SQL Server-Sicherungsdateien.
- Ihre vollständigen Sicherungs- und Transaktionsprotokolldateien werden in den Cloud Storage-Bucket hochgeladen.
- Sie haben ein Quellverbindungsprofil für den Cloud Storage-Bucket.
- Sie haben die Cloud SQL for SQL Server-Zielinstanz erstellt und konfiguriert und haben ein Zielverbindungsprofil für die Instanz.
- Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud Projekt aus oder erstellen Sie eines.
- Aktivieren Sie die APIs „Database Migration Service“, „Compute Engine“, „Cloud Storage“ und „Cloud SQL Admin“.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Migrationsjobs im 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 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.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 definieren und Migrationsjob erstellen
So erstellen Sie einen Migrationsjob:
Console
- Rufen Sie in der Google Cloud Console die Seite Migrationsjobs auf.
- Klicken Sie auf Migrationsjob erstellen.
Die Seite mit dem Konfigurationsassistenten für den Migrationsjob wird geöffnet. Dieser Assistent enthält mehrere Bereiche, in denen Sie durch die einzelnen Konfigurationsschritte geführt werden.
Sie können die Erstellung eines Migrationsjobs jederzeit pausieren, indem Sie auf SPEICHERN UND BEENDEN klicken. Alle Daten, die Sie bis zu diesem Punkt eingeben, werden in einem Migrationsjob-Entwurf gespeichert. Sie können den Migrationsauftrag im Entwurfsstatus später fertigstellen. Weitere Informationen finden Sie unter Migrationsjob-Entwurf aktualisieren.
- Geben Sie auf der Seite Erste Schritte die folgenden Informationen ein:
- Name des Migrationsjobs
Dies ist ein für Menschen lesbarer Name für Ihren Migrationsjob. Dieser Wert wird in der Google Cloud Console angezeigt.
- Migrationsjob-ID
Dies ist eine maschinenlesbare Kennung für Ihren Migrationsjob. Sie verwenden diesen Wert, um mit Migrationsjobs zu arbeiten, indem Sie die Google Cloud CLI-Befehle oder die API des Database Migration Service verwenden.
- Wählen Sie in der Liste Quelldatenbankmodul die Option SQL Server oder Amazon RDS for SQL Server aus.
Die Felder Zieldatenbankmodul und Migrationsjobtyp werden automatisch ausgefüllt und können nicht geändert werden.
- Name des Migrationsjobs
- Klicken Sie auf Speichern und fortfahren.
- Führen Sie auf der Seite Quelle definieren die folgenden Schritte aus:
- Wählen Sie im Drop-down-Menü Ihr Quellverbindungsprofil aus.
Wenn Sie noch kein Quellverbindungsprofil haben, können Sie direkt im Drop-down-Menü auf Verbindungsprofil erstellen klicken. Weitere Informationen zum Erstellen von Verbindungsprofilen finden Sie unter Quellverbindungsprofil erstellen.
- Wenn Sie bei der Migration eine Differenzialsicherungsdatei verwenden möchten, setzen Sie im Bereich Quellkonfigurationen anpassen ein Häkchen in das Kästchen Differenzielle Sicherungen verwenden.
Differenzielle Sicherungen sind nützlich, wenn Sie viele Daten replizieren müssen, die seit der Vollsicherung in Ihrer Datenbank hinzugekommen sind, und Sie diese im Bulk-Verfahren verarbeiten möchten, anstatt mehrere Transaktionsprotokolldateien hochzuladen. Weitere Informationen zu unterstützten Sicherungstypen finden Sie unter Unterstützte Sicherungsdateitypen.
Wenn Sie Differenzialsicherungen verwenden, müssen Sie den Ordner
diff
in Ihrem Cloud Storage-Bucket erstellen. Weitere Informationen finden Sie unter Sicherungsdateien in einem Cloud Storage-Bucket speichern. - Klicken Sie auf Speichern und fortfahren.
- Wählen Sie im Drop-down-Menü Ihr Quellverbindungsprofil aus.
- Wählen Sie auf der Seite Ziel definieren im Drop-down-Menü das Zielverbindungsprofil aus.
Wenn Sie noch kein Zielverbindungsprofil haben, können Sie direkt im Drop-down-Menü auf Verbindungsprofil erstellen klicken. Weitere Informationen zum Erstellen von Verbindungsprofilen finden Sie unter Zielverbindungsprofil erstellen.
- Klicken Sie auf Speichern und fortfahren.
- Führen Sie auf der Seite Migrationsdatenbanken konfigurieren die folgenden Aktionen aus:
- Wählen Sie im Bereich Zu migrierende Datenbanken auswählen mithilfe der Kästchen aus, welche Datenbanken in diesen Migrationsjob aufgenommen werden sollen. Diese Liste wird anhand der Ordner erstellt, die Sie im Cloud Storage-Bucket für Ihre Sicherungsdateien erstellt haben.
Sie können dem Migrationsjob später Datenbanken hinzufügen und daraus entfernen. Weitere Informationen finden Sie unter Databasen zu einem Migrationsjob hinzufügen oder daraus entfernen.
- Optional: Wenn Sie verschlüsselte Back-ups verwenden, geben Sie die Verschlüsselungsschlüssel für Ihre Back-ups an. Weitere Informationen zur Verwendung verschlüsselter Sicherungen finden Sie unter
Verschlüsselte Sicherungen verwenden.
Führen Sie folgende Aktionen durch:
- Klicken Sie neben der Datenbank, die Sie für die Migration ausgewählt haben, auf Details bearbeiten.
Die Seitenleiste Verschlüsselung wird geöffnet.
- Wählen Sie Ihre Schlüssel über die Drop-down-Menüs Verschlüsselungsschlüssel aus.
- Geben Sie im Feld Passwort das Passwort für den Verschlüsselungsschlüssel ein.
- Klicken Sie auf Speichern und schließen.
- Klicken Sie neben der Datenbank, die Sie für die Migration ausgewählt haben, auf Details bearbeiten.
- Wählen Sie im Bereich Zu migrierende Datenbanken auswählen mithilfe der Kästchen aus, welche Datenbanken in diesen Migrationsjob aufgenommen werden sollen. Diese Liste wird anhand der Ordner erstellt, die Sie im Cloud Storage-Bucket für Ihre Sicherungsdateien erstellt haben.
- Klicken Sie auf Speichern und fortfahren.
- Führen Sie auf der Seite Migrationsjob testen und erstellen die folgenden Aktionen aus:
- Optional: Klicken Sie auf Job testen, um zu prüfen, ob der Datenbankmigrationsdienst alle Sicherungsdateien finden und die erforderlichen Netzwerkverbindungen herstellen kann.
Wenn der Test fehlschlägt, können Sie anhand der Fehlermeldungen das Problem beheben und den Test noch einmal ausführen. Weitere Informationen zu möglichen Fehlern finden Sie unter Probleme diagnostizieren.
- Klicken Sie auf Job erstellen und starten, um die Migration zu starten.
Wenn Sie den Migrationsjob zu einem anderen Zeitpunkt ausführen möchten, klicken Sie auf Speichern und kehren Sie später zurück, um den Job auszuführen. Weitere Informationen finden Sie unter Migrationsjob starten.
- Optional: Klicken Sie auf Job testen, um zu prüfen, ob der Datenbankmigrationsdienst alle Sicherungsdateien finden und die erforderlichen Netzwerkverbindungen herstellen kann.
gcloud
In diesem Beispiel wird das optionale Flag --no-async
verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass einige Befehle einige Zeit in Anspruch nehmen können. 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 Kennung für Ihren Migrationsjob. Sie verwenden diesen Wert, um mit Migrationsjobs zu arbeiten, indem Sie die Google Cloud CLI-Befehle oder die API des Database Migration Service verwenden.
- REGION durch die Regionskennung ersetzen, in der Sie den Migrationsjob speichern möchten.
- MIGRATION_JOB_NAME durch einen für Menschen lesbaren Namen für den Migrationsjob. Dieser Wert wird in Database Migration Service in der Google Cloud Console angezeigt.
- SOURCE_CONNECTION_PROFILE_ID mit einer maschinenlesbaren Kennung des Quellverbindungsprofils.
- DESTINATION_CONNECTION_PROFILE_ID mit einer maschinenlesbaren Kennung des Zielverbindungsprofils.
- COMMA_SEPARATED_DATABASE_ID_LIST mit einer durch Kommas getrennten Liste der Datenbank-IDs des SQL Servers, den Sie aus Ihren Sicherungsdateien migrieren möchten. Diese IDs müssen mit den
Ordnernamen der Datenbank in Cloud Storage übereinstimmen.
Beispiel:
--sqlserver-databases=my-business-database,my-other-database
- Konfiguration für die differenzielle Sicherung: Wenn Sie für die Migration differenzielle Sicherungsdateien verwenden, fügen Sie dem Befehl das Flag
--sqlserver-diff-backup
hinzu. Standardmäßig werden bei Migrationsjobs keine Differenzialsicherungsdateien verwendet und der Ordnerdiff
in Ihrem Cloud Storage-Bucket wird ignoriert.Weitere Informationen zu unterstützten Sicherungsdateien finden Sie unter Unterstützte Sicherungsdateitypen.
- Optional: MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS mit dem Pfad auf dem lokalen Laufwerk zu einer Konfigurationsdatei, die Pfade zu Verschlüsselungsschlüsseln in Cloud Storage den entsprechenden Datenbank-IDs zuordnet. Weitere Informationen zum Erstellen dieser Zuordnungsdatei finden Sie unter Verschlüsselte Sicherungen verwenden.
Beispiel:
--sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json
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 \ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \ --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 ` --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ` --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 ^ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^ --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. Sie können mit der Migration fortfahren:
- Optional: Migrationsjob testen, um zu prüfen, ob der Database Migration Service alle erforderlichen Quell- und Zielentitäten erreichen kann.
- Migrationsjob starten, um mit dem Verschieben der Daten in die Zielinstanz zu beginnen.