Fehler beheben
Während der Laufzeit des Migrationsjobs können Fehler auftreten.
- Bei einigen Fehlern versucht Database Migration Service automatisch, die fehlerhaften Vorgänge noch einmal auszuführen, um den Migrationsprozess fortzusetzen und Unterbrechungen zu vermeiden. Der Status des Migrationsjobs ändert sich zu Mit Fehlern ausgeführt. Dieser Status gibt an, dass der Database Migration Service die Migration von Daten fortsetzt, die von den Fehlern nicht betroffen sind.
- Einige Fehler können nicht korrigiert werden. Wenn beim Database Migration Service ein nicht wiederherstellbarer Fehler auftritt, ändert sich der Status des Migrationsjobs zu Fehlgeschlagen. In solchen Fällen muss der Migrationsjob nach der Behebung des Problems neu gestartet werden.
Wenn Sie einen Fehler beheben möchten, rufen Sie den betroffenen Migrationsjob auf, sehen Sie sich den Fehler an und folgen Sie der Anleitung in der Fehlermeldung. Weitere Informationen finden Sie in den Cloud Monitoring-Logs für Ihre Cloud SQL-Ziellininstanz. Verwenden Sie den Link zu Cloud Monitoring auf der Detailseite des Migrationsjobs.
In der folgenden Tabelle finden Sie einige Beispiele für Probleme und wie sie behoben 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 neueren SQL Server-Version zu importieren als die Version, die Sie in Ihrer Cloud SQL for SQL Server-Ziellininstanz 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-Ziellinie mit einer neueren SQL Server-Version neu und wiederholen Sie den Migrationsprozess mit der neuen Instanz. |
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. | Beheben Sie den Namenskonflikt. Weitere Informationen finden Sie unter Fehler: Datenbank ist bereits im Ziel vorhanden . |
Fehlermeldung:
Permission denied for {cloudsql.databases.get} on the Database Migration Service service account. |
Dem Dienstkonto des Database Migration Service fehlen Berechtigungen. | Fügen Sie dem Dienstkonto des Database Migration Service die fehlenden Berechtigungen hinzu. Weitere Informationen finden Sie unter Zugriffssteuerung mit IAM. |
Fehlermeldung:
Missing WAL file at Log Sequence Number (LSN) {log_number_here} |
In Ihren Transaktionsprotokolldateien werden möglicherweise falsche Epochen-Zeitstempel verwendet, die nicht der Reihenfolge der enthaltenen Updates entsprechen. Der Database Migration Service verwendet Protokollsequenznummern und Epochenzeitstempel, um die Reihenfolge zu steuern, in der Transaktionsprotokolldateien in die Cloud SQL-Zielinstanz repliziert werden. | Prüfen und korrigieren Sie die Epochenzeitstempel in den Dateinamen Ihrer neuesten Transaktionsprotokolldateien. Siehe Fehlerhafte Transaktionsprotokollnamen anpassen. |
Fehler: Datenbank ist bereits im Ziel 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 in Ihrem Migrationsjob.
Lösungsvorschlag
Je nach Migrationsszenario gibt es verschiedene Möglichkeiten, das Problem mit doppelten Datenbanken zu lösen. Versuchen Sie eine der folgenden Aktionen:
Benennen Sie den Cloud Storage-Quell-Bucket, in dem sich Ihre Datenbank befindet, in einen anderen Namen um.
Der Name der Datenbank, die der Database Migration Service in Ihrer Ziel-Cloud SQL-Instanz erstellt, wird aus den Ordnernamen in Cloud Storage abgeleitet, in denen Sie die Sicherungsdateien speichern. Wenn Sie zwei unterschiedliche 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 noch einmal. Weitere Informationen finden Sie unter
Migrationsjob erstellen.
Sie können einem vorhandenen Migrationsjob neue Datenbanken hinzufügen, aber keine Datenbanken daraus entfernen. Daher müssen Sie den gesamten Migrationsjob neu erstellen.
Löschen Sie die duplizierte 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 Cloud SQL for SQL Server-Dokumentation unter Datenbank löschen.
Namen von Transaktionsprotokolldateien für WAL-Dateien in falscher Reihenfolge anpassen
Mögliche Ursache
In Ihren Transaktionsprotokolldateien werden möglicherweise falsche Epochen-Zeitstempel verwendet, die nicht der Reihenfolge der enthaltenen Updates entsprechen. Der Database Migration Service verwendet Protokollsequenznummern und Epochenzeitstempel, um die Reihenfolge zu steuern, in der Transaktionsprotokolldateien in die Cloud SQL-Zielinstanz repliziert werden.
Lösungsvorschlag
Ihre Dateiuploads können sich verzögern oder nicht in der richtigen Reihenfolge erfolgen. Warten Sie einige Minuten, bis das Problem behoben ist, oder prüfen Sie, ob Dateien in Ihrem Cloud Storage-Bucket fehlen.
Wenn das Problem dadurch nicht behoben wird, prüfen und korrigieren Sie die Epochenzeitstempel in den Namen Ihrer Transaktionsprotokolldateien.
Führen Sie diese Schritte aus:
- Prüfen Sie die Liste Ihrer Transaktionslogimportvorgänge in 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.
- Rufen Sie alle Importvorgänge für Transaktionsprotokolldateien auf und prüfen Sie, ob die Dateinamen die richtigen Epochenzeitstempel enthalten.
- Wenn Sie feststellen, dass die Namen der letzten Transaktionsprotokolldateien Epochenzeitstempel mit falscher Reihenfolge enthalten, rufen Sie Ihren Cloud Storage-Bucket auf und ändern Sie den Dateinamen. Der Database Migration Service erkennt die Änderung automatisch und versucht, die entsprechenden Transaktionsprotokolldateien zu importieren.
- Nur Amazon RDS: Möglicherweise wurden beim Export nach S3 einige Transaktionsprotokolldateien übersehen. Wiederholen Sie die Ausführung der Exportfunktion für Transaktionsprotokolle für den Zeitraum um die fehlenden WAL-Dateien herum.