Der Database Migration Service verwendet Migrationsjobs, um Daten aus den Quelldatenbanken in die Cloud SQL-Zielinstanz zu migrieren. Migrationsjobs helfen Ihnen dabei, die Quell- und Zielverbindungsprofile zu organisieren, 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 Datenbanken aus, die in Ihrer Quellinstanz erkannt wurden und die Sie migrieren möchten.
Führen Sie einen Migrationsjobtest durch, um zu prüfen, ob Database Migration Service eine Verbindung zu Ihrer Datenquelle und Ihrem Ziel herstellen kann.
Migrationsjob starten und Fortschritt beobachten
Hochstufen des Migrationsjobs, wenn Sie Ihre Anwendung auf die neue Instanz umstellen möchten.
Hinweis
- Folgende Anforderungen müssen erfüllt sein:
- Sie haben einen Cloud Storage-Bucket für SQL Server-Sicherungsdateien.
- Ihre Vollsicherungs- und Transaktionsprotokolldateien werden in den Cloud Storage-Bucket hochgeladen.
- Sie haben ein Quellverbindungsprofil für den Cloud Storage-Bucket.
- 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
So erstellen Sie einen Migrationsjob:
Console
- Rufen Sie in der Google Cloud Console die Seite Migrationsjobs auf.
- Klicken Sie auf Migrationsjob erstellen.
Die Seite des Konfigurationsassistenten für Migrationsjobs wird geöffnet. Dieser Assistent enthält mehrere Bereiche, die Sie durch die einzelnen Konfigurationsschritte führen.
Sie können die Erstellung eines Migrationsjobs jederzeit pausieren, indem Sie auf SPEICHERN UND BEENDEN klicken. Alle Daten, die Sie bis zu diesem Zeitpunkt eingeben, werden in einem Migrationsjobentwurf gespeichert. Sie können den Migrationsjobentwurf später fertigstellen. Weitere Informationen finden Sie unter Entwurf eines Migrationsjobs aktualisieren.
- Geben Sie auf der Seite Einstieg die folgenden Informationen ein:
- Name des Migrationsjobs
Dies ist ein menschenlesbarer 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 über Google Cloud CLI-Befehle oder die API des Database Migration Service zu arbeiten.
- 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 eine differenzielle Sicherungsdatei in Ihrer Migration verwenden möchten, setzen Sie im Abschnitt Quellkonfigurationen anpassen ein Häkchen bei Differenzielle Sicherungen verwenden.
Differenzielle Sicherungen sind nützlich, wenn Sie viele Daten replizieren müssen, die seit der Vollsicherung in Ihrer Datenbank aufgetreten sind, und Sie diese im Bulk verarbeiten möchten, anstatt mehrere Transaktionslogdateien hochzuladen. Weitere Informationen zu unterstützten Sicherungstypen finden Sie unter Unterstützte Sicherungsdateitypen.
Wenn Sie differenzielle Sicherungen verwenden, müssen Sie den Ordner
diffin 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ü Ihr 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 Datenbanken für Migration konfigurieren die folgenden Aktionen aus:
- Wählen Sie im Abschnitt Zu migrierende Datenbanken auswählen die Datenbanken aus, die Sie in diesen Migrationsjob aufnehmen möchten. Diese Liste wird anhand der Ordner ausgefüllt, 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 Datenbanken zu einem Migrationsjob hinzufügen oder daraus entfernen.
- (Optional) Wenn Sie verschlüsselte Sicherungen verwenden, geben Sie die Verschlüsselungsschlüssel für Ihre Sicherungen 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 Abschnitt Zu migrierende Datenbanken auswählen die Datenbanken aus, die Sie in diesen Migrationsjob aufnehmen möchten. Diese Liste wird anhand der Ordner ausgefüllt, 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 Database Migration Service alle Sicherungsdateien erfolgreich identifizieren und die erforderlichen Netzwerkverbindungen herstellen kann.
Wenn der Test fehlschlägt, können Sie die Fehlermeldungen zur Behebung des Problems heranziehen 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 Database Migration Service alle Sicherungsdateien erfolgreich identifizieren 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 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.
- 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. Diese Kennungen müssen mit den
Datenbankordnernamen in Ihrem Cloud Storage übereinstimmen.
Beispiel:
--sqlserver-databases=my-business-database,my-other-database - Konfiguration für differenzielle Sicherung: Wenn Sie für die Migration differenzielle Sicherungsdateien verwenden, fügen Sie Ihrem Befehl das Flag
--sqlserver-diff-backuphinzu. Standardmäßig verwenden Migrationsjobs keine differenziellen Sicherungsdateien und ignorieren den Ordnerdiffin Ihrem Cloud Storage-Bucket.Weitere Informationen zu unterstützten Sicherungsdateien finden Sie unter Unterstützte Sicherungsdateitypen.
- (Optional) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS durch den Pfad zu einer Konfigurationsdatei auf Ihrem lokalen Laufwerk, die Pfade zu Verschlüsselungsschlüsseln in Cloud Storage den entsprechenden Datenbankkennungen 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. 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.