Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Fehlermeldungsnummern und deren Beschreibung für die Überprüfung vor der Migration.
Die folgenden Tabellen enthalten eine umfassende Liste der Fehlercodes für das Migrationsdienstfeature in Azure Database for PostgreSQL. Diese Fehlercodes helfen Ihnen bei der Behandlung und Behebung von Problemen während des Migrationsprozesses. Jeder Fehlercode verfügt über eine Fehlermeldung und andere Details, die weitere Kontext und Anleitungen zum Beheben des Problems bereitstellen.
Zeitüberschreitungen bei Verbindungen
Symptome
Migrationsfehler manifestieren sich häufig über Fehlermeldungen, die auf Konnektivitätsprobleme hinweisen. Diese Probleme können während des Datenübertragungsprozesses auftreten. Wenn solche Fehler auftreten, führen sie zu den folgenden Fehlermeldungen:
- Der Server hat die Verbindung unerwartet geschlossen.
- SSL SYSCALL-Fehler: EOF erkannt
- unerwartete EOF bei Clientverbindung
- Daten vom Client konnten nicht empfangen werden: Verbindungszurücksetzung durch Peer
Ursache
Die zugrunde liegende Ursache für diese Symptome ist eine connection timeout. Dies tritt in der Regel auf, wenn der Server oder der Client erwartet, Dass Daten innerhalb eines bestimmten Zeitrahmens empfangen werden, aber keine Daten gesendet oder empfangen werden, wodurch die Verbindung zum Timeout führt. Die spezifischen Gründe für ein Verbindungstimeout können variieren, aber häufige Faktoren sind Netzwerküberlastungen, falsch konfigurierte Netzwerkeinstellungen oder übermäßig aggressive Timeouteinstellungen.
Im Kontext des Migrationsdiensts in Azure-Datenbank für PostgreSQL kann ein Verbindungstimeout zwischen der Quelle und dem Migrationsdienst oder zwischen dem Migrationsdienst und dem Ziel den Datenübertragungsprozess unterbrechen, was zu den oben beschriebenen Symptomen führt.
Lösung
Um probleme mit dem Timeout der Verbindung zu beheben, passen Sie die TCP-Parameter auf den Quell- und Zielservern wie folgt an:
tcp_keepalives_idle=10tcp_keepalives_interval=10tcp_keepalives_count=60
Diese Einstellungen tragen dazu bei, die Verbindung aufrechtzuerhalten, indem Keepalive-Probes gesendet werden, um Timeouts aufgrund von Inaktivität zu verhindern. Wichtig ist, dass das Ändern dieser TCP-Parameter keinen Neustart der Quell- oder Ziel-PostgreSQL-Instanzen erfordert. Änderungen können dynamisch angewendet werden, sodass eine nahtlose Fortsetzung des Diensts möglich ist, ohne die Datenbankvorgänge zu unterbrechen.
Verbindung aufgrund einer Leerlaufzeitüberschreitung in einer Transaktion beendet
Symptome
- Der Migrationsdienst trifft auf eine Verbindungsbeendigungsnachricht.
- Protokolle zeigen den Fehler an:
terminating connection due to idle-in-transaction timeout.
Ursache
Dieser Fehler tritt auf, wenn eine Datenbankverbindung innerhalb einer Transaktion länger im Leerlauf bleibt als der im idle_in_transaction_timeout Parameter angegebene Wert. PostgreSQL beendet solche Verbindungen automatisch, um Ressourcensperrprobleme zu vermeiden.
Lösung
- Legen Sie den
idle_in_transaction_timeout-Parameter auf0fest, um den Time-out während des Migrationsprozesses zu deaktivieren. - Beispielbefehl zum Anwenden dieser Einstellung:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
- Stellen Sie sicher, dass dieser Parameter nach der Migration auf seinen ursprünglichen Wert zurückgesetzt wird, um die Datenbankleistung aufrechtzuerhalten und längere Leerlaufverbindungen zu verhindern.
Erschöpfung des gemeinsam genutzten Speichers
Symptome
Der Migrationsprozess wird unerwartet angehalten. Protokolle zeigen den Fehler an: out of shared memory.
Ursache
Dieser Fehler weist darauf hin, dass PostgreSQL den für Sperren zugewiesenen freigegebenen Speicher erschöpft hat. Es tritt in der Regel auf, wenn der Migrationsprozess viele Sperren über die aktuelle Einstellung des max_locks_per_transaction Parameters hinaus umfasst.
Lösung
- Erhöhen Sie den Wert des
max_locks_per_transactionParameters, um die während des Migrationsprozesses erforderlichen weiteren Sperren zu berücksichtigen. - Beispielbefehl zum Ändern dieser Einstellung:
ALTER SYSTEM SET max_locks_per_transaction = <<>>; - Stellen Sie sicher, dass
max_locks_per_transaction * max_connections > Number of tables + Number of indexes - Wenn das Problem weiterhin besteht, sollten Sie den shared_buffers Parameter erhöhen, um sicherzustellen, dass genügend gemeinsam genutzter Arbeitsspeicher für die Sperrverwaltung verfügbar ist.
Verwenden von CREATE TYPE
Symptome
Der Migrationsprozess wird unerwartet angehalten. Protokolle zeigen den Fehler an: pg_restore: error: could not execute query: ERROR: must be superuser to create a base type .
Ursache
Um einen neuen Basistyp zu erstellen, müssen Sie ein Superuser sein (diese Einschränkung erfolgt, da eine fehlerhafte Typdefinition den Server verwirren oder sogar abstürzt).
Lösung
- Benutzerdefinierter Basistyp muss gelöscht und/oder durch einen erkannten Basistyp ersetzt werden.
- Ausführlichere Informationen finden Sie hier.
Migrationsfehlercodes
| Fehlercode | Fehlermeldung | Lösung |
|---|---|---|
| 603000 | Fehler bei der Verbindung. Die Verbindung mit dem Server {serverName} war nicht erfolgreich. Stellen Sie sicher, dass der Quellserver vom Ziel- oder Laufzeitserver erreichbar ist. |
Informationen zum Debuggen von Verbindungsproblemen finden Sie im Netzwerkhandbuch . |
| 603001 | SSL-Konfigurationsfehler. Der Server {serverName} unterstützt ssl nicht. Überprüfen Sie SSL-Einstellungen. Legen Sie den SSL-Modus auf prefer fest und versuchen Sie die Migration erneut. |
Informationen zum Debuggen von Verbindungsproblemen finden Sie im Netzwerkhandbuch . |
| 603100 | Fehler bei der Authentifizierung: Das Kennwort für den Server {serverName} ist falsch. Geben Sie das richtige Kennwort ein, und wiederholen Sie die Migration. |
– |
| 603101 | Die Datenbank ist im Zielsystem bereits vorhanden. Die Datenbank {dbName} ist auf dem Zielserver vorhanden. Stellen Sie sicher, dass der Zielserver nicht über die Datenbank verfügt, und wiederholen Sie die Migration. |
– |
| 603102 | Quelldatenbank fehlt. Die Datenbank {dbName} ist auf dem Quellserver nicht vorhanden. Geben Sie eine gültige Datenbank an, und wiederholen Sie die Migration. |
– |
| 603103 | Fehlende Microsoft Entra-Rolle. Die Microsoft Entra-Rolle {roleNames} fehlt auf dem Zielserver. Erstellen Sie die Entra-Rolle, und wiederholen Sie die Migration. |
– |
| 603104 | Fehlende Replikationsrolle. Der Benutzer {0} verfügt nicht über die Replikationsrolle auf dem Server {1}. Erteilen Sie die Replikationsrolle, bevor Sie die Migration erneut versuchen. |
Verwenden Sie ALTER ROLE <rolename> WITH REPLICATION;, um die erforderliche Berechtigung zu erteilen. |
| 603105 | GUC-Einstellungsfehler. Unzureichende Replikationsplätze auf dem Quellserver für die Migration. Erhöhen Sie den max_replication_slots GUC-Parameter auf {0} oder höher. |
Der Quellserver verfügt nicht über ausreichende Replikationsplätze, um die Onlinemigration durchzuführen. Verwenden Sie diese Abfrage SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical';, um die Liste der inaktiven Replikations-Slots abzurufen und sie mit SELECT pg_drop_replication_slot('slot_name'); zu löschen, bevor die Migration gestartet wird. Alternativ können Sie den Parameter "max_replication_slots" auf {0} oder höher festlegen. Stellen Sie sicher, dass der max_wal_senders-Parameter ebenfalls so geändert wird, dass er größer oder gleich max_replication_slots' parameter ist. |
| 603106 | GUC-Einstellungsfehler. Der max_wal_senders GUC-Parameter ist auf {0} gesetzt. Stellen Sie sicher, dass sie mit dem Wert "max_replication_slots" übereinstimmt oder überschreitet. |
– |
| 603107 | GUC-Einstellungsfehler. Der WAL-Level-Parameter des Quellservers ist auf {0} festgelegt. Setzen Sie den GUC-Parameter WAL-Level auf „logical“. |
– |
| 603108 | Eine Liste der zulässigen Erweiterungen ist erforderlich. Erweiterungen {0} konnten nicht auf dem Zielserver installiert werden, da sie nicht zugelassen sind. Fügen Sie die Erweiterungen zur Zulassungsliste hinzu und versuchen Sie die Migration erneut. |
Legen Sie die Zulassungsliste fest, indem Sie die in den PostgreSQL-Erweiterungen genannten Schritte ausführen. |
| 603109 | Konfigurationsfehler für freigegebene Vorabladebibliotheken. Fügen Sie zugelassene Erweiterungen {0} zu "shared_preload_libraries" auf dem Zielserver hinzu, und wiederholen Sie die Migration. |
Legen Sie die freigegebenen Vorabladebibliotheken fest, indem Sie die in den PostgreSQL-Erweiterungen erwähnten Schritte ausführen. Dies erfordert einen Serverneustart. |
| 603110 | Unzureichende Berechtigungen. Der Migrationsbenutzer verfügt nicht über erforderliche Berechtigungen für den Datenbankzugriff. Stellen Sie sicher, dass der Migrationsbenutzer Besitzer von Quelldatenbanken ist und über Lese- und Schreibberechtigungen verfügt, und wiederholen Sie die Migration. | – |
| 603111 | Die Bereinigung der Zieldatenbank ist fehlgeschlagen. Aktive Verbindungen in der Zieldatenbank können während der Vormigrationsphase nicht beendet werden. Weisen Sie dem Migrationsbenutzer die Rolle pg_signal_backend zu und führen Sie die Migration erneut aus. | Fügen Sie dem Migrationsbenutzer mithilfe des Befehls „GRANT pg_signal_backend to <migration_user>“ die Rolle „pg_signal_backend“ hinzu. |
| 603112 | GUC-Einstellungsfehler. Fehler beim Festlegen des GUC-Parameters default_transaction_read_only auf „off“. Stellen Sie sicher, dass der Benutzerschreibzugriff ordnungsgemäß festgelegt ist, und wiederholen Sie die Migration. | Setzen Sie „default_transaction_read_only“ auf dem Quellserver über das Azure-Portal oder mithilfe eines psql-Befehls auf OFF (z. B. ALTER SYSTEM SET default_transaction_read_only = off). |
| 603113 | Fehler bei der Umstellung. Die Übernahme kann für die Datenbank '{dbName}' nicht initiiert werden, da die Migration bereits den Status "Abgeschlossen/Fehlgeschlagen/Abgebrochen" aufweist. | – |
| 603114 | Fehler bei der Umstellung. Die Umschaltung kann für die Datenbank „{dbName}“ im Offlinemigrationsmodus nicht initiiert werden. | – |
| 603115 | Fehlende Benutzerberechtigungen. Migrationsbenutzer '{0}' ist kein Mitglied der Rolle 'azure_pg_admin'. Fügen Sie erforderliche Berechtigungen auf dem Zielserver hinzu, und wiederholen Sie die Migration. | – |
| 603116 | Fehlende Benutzerberechtigungen. Der Migrationsbenutzer "{0}" verfügt nicht über die Berechtigung zum Erstellen von Rollen. Fügen Sie erforderliche Berechtigungen auf dem Zielserver hinzu, und wiederholen Sie die Migration. | Führen Sie die Abfrage ALTER ROLE <rolename> WITH CREATEROLE; auf dem Zielserver aus. |
| 603117 | Fehlende Benutzerberechtigungen. Der Migrationsbenutzer "{0}" verfügt nicht über erforderliche Berechtigungen, um die Datenbank "{dbName}" auf dem Zielserver zu löschen. Legen Sie die Datenbank manuell vom Zielserver ab, und wiederholen Sie die Migration. | – |
| 603400 | Nicht unterstützte Quellversion. Die Migration von PostgreSQL-Versionen unterhalb von {0} wird nicht unterstützt. |
Sie müssen eine andere Migrationsmethode verwenden. |
| 603401 | Die Sortierreihenfolge stimmt nicht überein. Die Sortierung {0} in der Datenbank {1} ist auf dem Zielserver nicht vorhanden. |
– |
| 603402 | Die Sortierreihenfolge stimmt nicht überein. Die Sortierung {0} für die Tabelle {1} in Spalte {2} ist auf dem Zielserver nicht vorhanden. |
Wenden Sie sich an den Microsoft-Support , um die erforderlichen Sortierungen hinzuzufügen. |
| 603403 | Die Sortierreihenfolge stimmt nicht überein. Die Quelldatenbank enthält benutzerdefinierte Sortierungen. Löschen Sie diese Kollationen und versuchen Sie die Migration erneut. | – |
| 603404 | Nicht unterstützte OIDs erkannt. Tabellen mit „WITH OIDs“ in der Datenbank {0} erkannt. Sie werden in PostgreSQL, Version 12 und höher, nicht unterstützt. |
Besuchen Sie die Versionshinweise zu PostgreSQL. |
| 603405 | Nicht unterstützte Erweiterungen. Der Migrationsdienst unterstützt die Migration von Datenbanken mit {0} Erweiterungen auf dem Zielserver nicht. |
– |
| 603406 | Nicht unterstützte Erweiterungen. Target PostgreSQL {0} unterstützt POSTGIS Version 3.2.3, die nicht mit der Quelle {1}kompatibel ist. |
Upgrade des Zielservers auf Version 11 empfehlen. Besuchen Sie PostGIS – Breaking Changes. |
| 603407 | Erweiterungsschemafehler. Erweiterungen {0} , die sich im Systemschema auf dem Quellserver befinden, werden auf dem Zielserver nicht unterstützt. Löschen Sie die Erweiterungen und erstellen Sie sie in einem Nicht-Systemschema neu. Versuchen Sie dann die Migration erneut. |
Besuchen Sie Die PostgreSQL-Erweiterungen. |
| 603408 | Nicht unterstützte Erweiterungen. Die Zielserverversion 16 unterstützt {0} keine Erweiterungen. Migrieren Sie zu Version 15 oder niedriger, und aktualisieren Sie dann, sobald die Erweiterungen unterstützt werden. |
– |
| 603409 | Benutzerdefinierte Casts vorhanden. Die Quelldatenbank {0} enthält benutzerdefinierte Umwandlungen, die nicht auf den Zielserver migriert werden können. |
– |
| 603410 | Berechtigungsfehler bei der Systemtabelle. Benutzer haben Zugriff auf Systemtabellen wie pg_authid und pg_shadow, die nicht zum Ziel migriert werden können. Widerrufen Sie diese Berechtigungen, und wiederholen Sie die Migration. | Die Überprüfung der standardmäßig gewährten Berechtigungen für pg_catalog Tabellen bzw. Ansichten (wie etwa pg_authid und pg_shadow) ist unerlässlich. Diese Berechtigungen können dem Ziel jedoch nicht zugewiesen werden. Insbesondere verfügt der Benutzer {1} über {2} Berechtigungen, während der Benutzer {3} Berechtigungen besitzt {4} . Eine Problemumgehung finden Sie unter "Benutzer", "Rollen" und "Berechtigungen". |
| 603413 | Nicht unterstützte Sprachen. Der Migrationsdienst unterstützt die Migration von Datenbanken mit {0} Sprachen auf dem Zielserver nicht. Entfernen Sie die Sprache(n) und die implementierten Funktionen. |
Der Zielserver unterstützt die nicht unterstützten Sprachen nicht. Versuchen Sie, die entsprechende Sprache auf dem Quellserver zu deaktivieren oder zu entfernen, bevor Sie zum Zielserver migrieren. |
| 603700 | Die Bereinigung der Zieldatenbank ist fehlgeschlagen. Aktive Verbindungen in der Zieldatenbank können während der Phase vor der Migration/nach der Migration nicht beendet werden. | – |
| 603701 | Interner Serverfehler. Fehler beim Erstellen von Rollen auf dem Zielserver. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603702 | Interner Serverfehler. Fehler beim Abbilden von Rollen vom Quellserver. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603703 | Interner Serverfehler. Die Dump-Datei der globalen Rolle konnte nicht bearbeitet werden. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603704 | Interner Serverfehler. Fehler beim Hinzufügen aller Quellrollen als Mitglieder des Zielmigrationsbenutzers. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603705 | Interner Serverfehler. Fehler beim Wiederherstellen von Zulassungen/Widerrufen. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603706 | Interner Serverfehler. Der Migrationsbenutzer des Zielservers konnte nicht bereinigt werden. Ihr Zielmigrationsbenutzer kann Teil mehrerer Rollen sein. Entfernen Sie alle unnötigen Rollen vom Zielservermigrationsbenutzer, und wiederholen Sie die Migration. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603707 | Interner Serverfehler. Fehler beim Zuweisen von azure_pg_admin an den Administratorbenutzer des Quellservers. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603708 | Interner Serverfehler. Fehler beim Ändern des Besitzers des öffentlichen Schemas zum azure_pg_admin in der Datenbank '{dbName}'. Ändern Sie den Besitzer des öffentlichen Schemas in azure_pg_admin manuell, und wiederholen Sie die Migration. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |
| 603709 | Fehler beim Migrationssetup. | Wenden Sie sich an den Microsoft-Support , um weitere Analysen zu führen. |