Migrationsjob erstellen

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

  1. 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.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

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

    APIs aktivieren

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:

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

  1. Rufen Sie in der Google Cloud Console die Seite Migrationsjobs auf.

    Migrationsjobs aufrufen

  2. 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.

  3. 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.

  4. Klicken Sie auf Speichern und fortfahren.
  5. Führen Sie auf der Seite Quelle definieren die folgenden Schritte aus:
    1. 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.

    2. 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.

    3. Klicken Sie auf Speichern und fortfahren.
  6. 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.

  7. Klicken Sie auf Speichern und fortfahren.
  8. Führen Sie auf der Seite Migrationsdatenbanken konfigurieren die folgenden Aktionen aus:
    1. 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.

    2. 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.
  9. Klicken Sie auf Speichern und fortfahren.
  10. Führen Sie auf der Seite Migrationsjob testen und erstellen die folgenden Aktionen aus:
    1. 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.

    2. 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.

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

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.

Nächste Schritte