Fehler beheben
Während der Laufzeit des Migrationsjobs können Fehler auftreten.
- Bei einigen Fehlern wiederholt Database Migration Service die fehlerhaften Vorgänge automatisch, um den Migrationsprozess fortzusetzen und Unterbrechungen zu vermeiden. Der Status des Migrationsjobs ändert sich zu Wird mit Fehlern ausgeführt. Dieser Status bedeutet, dass Database Migration Service die Datenmigration fortsetzt, ohne von den Fehlern beeinträchtigt zu werden.
- Einige Fehler sind nicht behebbar. Wenn Database Migration Service einen nicht behebbaren Fehler erkennt, ändert sich der Status des Migrationsjobs in Fehlgeschlagen. In solchen Szenarien muss der Migrationsjob neu gestartet werden, nachdem das Problem behoben wurde.
Rufen Sie zur Fehlerbehebung den betroffenen Migrationsjob auf, sehen Sie sich den Fehler an und folgen Sie den Schritten in der Fehlermeldung. Weitere Informationen finden Sie in den Cloud Monitoring-Logs für Ihre Cloud SQL-Zielinstanz. Verwenden Sie den Cloud Monitoring-Link auf der Detailseite des Migrationsjobs.
In der folgenden Tabelle finden Sie einige Beispiele für Probleme und wie sie gelöst werden können:
| Problem | Mögliche Ursache | Lösungsvorschlag |
|---|---|---|
Fehlermeldung: The BAK file's database major version number
{backup_version_num} must not be higher than the current database
major version number {your Cloud SQL for SQL Server version number}. |
Sie versuchen, Sicherungsdateien aus einer späteren SQL Server-Version als der Version zu importieren, die Sie in Ihrer Cloud SQL for SQL Server-Zielinstanz verwenden.
Der Database Migration Service unterstützt nur versionsübergreifende Migrationen von niedrigeren zu höheren Versionen, wenn Sie die Richtlinien zur versionsübergreifenden Kompatibilität einhalten. Weitere Informationen finden Sie unter Unterstützte Quell- und Zieldatenbanken. |
Erstellen Sie die Cloud SQL for SQL Server-Zielinstanz mit einer neueren SQL Server-Version neu und versuchen Sie den Migrationsprozess mit der neuen Instanz noch einmal. |
Fehlermeldung: The following database already exists in destination: {database_name}.
|
Ihre Cloud SQL-Zielinstanz enthält bereits eine Datenbank mit demselben Namen wie eine der Datenbanken in Ihrem Migrationsjob. | Entfernen Sie den Namenskonflikt. Siehe Fehler: Datenbank ist am Ziel bereits vorhanden |
Fehlermeldung:
Permission denied for {cloudsql.databases.get} on the Database Migration Service service account. |
Dem Database Migration Service-Dienstkonto fehlen Berechtigungen. | Fügen Sie dem Database Migration Service-Dienstkonto die fehlenden Berechtigungen hinzu. Weitere Informationen finden Sie unter Zugriffssteuerung mit IAM. |
Fehlermeldung:
Missing WAL file at Log Sequence Number (LSN) {log_number_here} |
Ihre Transaktionslogdateien verwenden möglicherweise falsche Epochenzeitstempel in Bezug auf die Reihenfolge der darin enthaltenen Aktualisierungen. Database Migration Service verwendet Logsequenznummern und Epochenzeitstempel, um die Reihenfolge zu steuern, in der Transaktionslogdateien in die Cloud SQL-Zielinstanz repliziert werden. | Prüfen und korrigieren Sie die Zeitstempel im Epoch-Format, die in den Dateinamen der neuesten Transaktionslogdateien verwendet werden. Weitere Informationen finden Sie unter Fehlerhafte Transaktionsprotokollnamen anpassen. |
| Wenn Sie ausgewählte Datenbanken migrieren und der Migrationsjob keine Daten in eine oder mehrere Datenbanken replizieren kann, wird in der Liste der Datenbanken der Status Fehlgeschlagen angezeigt. | Verschiedene Fehler bei Migrationsjobs. | Klicken Sie in der Spalte Fehler auf Fehler ansehen und beheben Sie die Fehler. Klicken Sie nach dem Beheben der Fehler auf Neu starten. |
Fehler: Datenbank ist im Ziel bereits vorhanden
Die folgende Fehlermeldung wird angezeigt:
The following database already exists in destination: {database_name}.
Mögliche Ursache
Ihre Cloud SQL-Zielinstanz enthält bereits eine Datenbank mit demselben Namen wie eine der Datenbanken, die in Ihrem Migrationsjob enthalten sind.
Lösungsvorschlag
Je nach Migrationsszenario gibt es verschiedene Möglichkeiten, das Problem doppelter Datenbanken zu lösen. Versuchen Sie eine der folgenden Aktionen:
Benennen Sie den Cloud Storage-Quell-Bucket um, um Ihre Datenbank mit einem anderen Namen zu migrieren.
Der Name der Datenbank, die Database Migration Service in Ihrer Cloud SQL-Zielinstanz erstellt, wird von den Ordnernamen in Cloud Storage abgeleitet, in denen Sie die Sicherungsdateien speichern. Wenn Sie zwei verschiedene Datenbanken mit demselben Namen haben und beide in Ihrem Cloud SQL-Ziel benötigen, können Sie die Ordner umbenennen und den Migrationsjob neu erstellen, um den Namenskonflikt zu vermeiden.
Führen Sie diese Schritte aus:
- Erstellen Sie neue Ordner für die Quelldatenbank, die vom Namenskonflikt betroffen ist. Weitere Informationen finden Sie unter Sicherungsdateien in einem Cloud Storage-Bucket speichern .
- Erstellen Sie den Migrationsjob neu. Weitere Informationen finden Sie unter
Migrationsjob erstellen.
Sie können einem vorhandenen Migrationsjob neue Datenbanken hinzufügen, aber keine Datenbanken aus einem Migrationsjob entfernen. Daher müssen Sie den gesamten Migrationsjob neu erstellen.
Löschen Sie die doppelte Datenbank aus Ihrer Cloud SQL for SQL Server-Instanz.
Wenn die Datenbank in Ihrer Cloud SQL-Zielinstanz ein Duplikat ist, können Sie sie aus Ihrer Instanz löschen und mit dem Migrationsjob fortfahren. Weitere Informationen finden Sie in der Dokumentation zu Cloud SQL for SQL Server unter Datenbank löschen.
Namen von Dateien mit Transaktionslogs für nicht ordnungsgemäße WAL-Dateien anpassen
Mögliche Ursache
Ihre Transaktionslogdateien verwenden möglicherweise falsche Epochenzeitstempel in Bezug auf die Reihenfolge der darin enthaltenen Aktualisierungen. Database Migration Service verwendet Logsequenznummern und Epochenzeitstempel, um die Reihenfolge zu steuern, in der Transaktionslogdateien in die Cloud SQL-Zielinstanz repliziert werden.
Lösungsvorschlag
Ihre Dateiuploads können sich verzögern oder in der falschen Reihenfolge erfolgen. Warten Sie einige Minuten, bis das Problem behoben ist, oder prüfen Sie, ob in Ihrem Cloud Storage-Bucket Dateien fehlen.
Wenn das Problem dadurch nicht behoben wird, prüfen Sie die Epochenzeitstempel in den Dateinamen des Transaktionslogs und passen Sie sie an.
Führen Sie diese Schritte aus:
- Prüfen Sie die Liste der Transaktionslog-Importvorgänge auf der Cloud SQL for SQL Server-Zielinstanz. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.
- Klicken Sie auf Alle Vorgänge ansehen > SQL Server-Fehlerlogs ansehen.
- Sehen Sie sich alle Importvorgänge für Transaktionslogdateien an und prüfen Sie, ob die Dateinamen korrekte Epochenzeitstempel enthalten.
- Wenn Sie feststellen, dass die Namen der letzten Transaktionslogdateien Zeitstempel mit einer falschen Reihenfolge enthalten, rufen Sie Ihren Cloud Storage-Bucket auf und benennen Sie die Datei um. Database Migration Service erkennt die Änderung automatisch und versucht, die relevanten Transaktionslogdateien zu importieren.
- Nur Amazon RDS: Es ist möglich, dass einige Transaktionslogdateien beim Export nach S3 nicht berücksichtigt wurden. Führen Sie die Funktion zum Exportieren des Transaktionslogs für den Zeitraum um die fehlenden WAL-Dateien noch einmal aus.