Dela via


Kända fel i migreringstjänsten för Azure Database for PostgreSQL

Den här artikeln innehåller felmeddelandenummer och deras beskrivning för validering före utvandring.

Följande tabeller innehåller en omfattande lista över felkoder för migreringstjänstens funktion i Azure Database for PostgreSQL. Dessa felkoder hjälper dig att felsöka och lösa problem under migreringsprocessen. Varje felkod har ett felmeddelande och annan information som ger ytterligare kontext och vägledning för att lösa problemet.

Tidsgränser för anslutning

Symtom

Migreringsfel visas ofta via felmeddelanden som indikerar anslutningsproblem. Dessa problem kan uppstå under dataöverföringsprocessen. När sådana fel inträffar resulterar de i följande felmeddelanden:

  • servern stängde anslutningen oväntat
  • SSL SYSCALL-fel: EOF har identifierats
  • oväntad EOF vid klientanslutning
  • kunde inte ta emot data från klienten: Anslutningsåterställning av peer

Orsak

Den underliggande orsaken till dessa symtom är en connection timeout. Detta inträffar vanligtvis när servern eller klienten förväntar sig att ta emot data inom en viss tidsram, men inga data skickas eller tas emot, vilket leder till tidsgränsen för anslutningen. De specifika orsakerna till en tidsgräns för anslutningen kan variera, men vanliga faktorer är överbelastning i nätverket, felkonfigurerade nätverksinställningar eller alltför aggressiva tidsgränsinställningar.

I samband med migreringstjänsten i Azure Database for PostgreSQL kan en tidsgräns för anslutningen mellan källan och migreringstjänsten eller mellan migreringstjänsten och målet avbryta dataöverföringsprocessen, vilket resulterar i de symptom som beskrivs ovan.

Åtgärd

  • Om du vill åtgärda problem med tidsgränsen för anslutningen justerar du TCP-parametrarna på både käll- och målservrarna enligt följande:

    • tcp_keepalives_idle=10
    • tcp_keepalives_interval=10
    • tcp_keepalives_count=60

De här inställningarna hjälper till att upprätthålla anslutningen genom att skicka keepalive-avsökningar för att förhindra tidsgränser på grund av inaktivitet. Att ändra dessa TCP-parametrar kräver inte någon omstart av postgreSQL-käll- eller målinstanserna. Ändringar kan tillämpas dynamiskt, vilket möjliggör en sömlös fortsättning av tjänsten utan att avbryta databasåtgärderna.

Anslutningen avslutades på grund av tidsgränsen för inaktivitet i transaktionen

Symtom

  • Migreringstjänsten stöter på ett meddelande om anslutningsavslut.
  • Loggar visar felet: terminating connection due to idle-in-transaction timeout.

Orsak

Det här felet uppstår när en databasanslutning förblir inaktiv i en transaktion längre än det värde som anges i parametern idle_in_transaction_timeout . PostgreSQL avslutar automatiskt sådana anslutningar för att undvika problem med resurslåsning.

Åtgärd

  • Ange parametern idle_in_transaction_timeout till 0 för att inaktivera tidsgränsen under migreringsprocessen.
  • Exempelkommando för att tillämpa den här inställningen:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
  • Se till att återställa den här parametern till det ursprungliga värdet efter migreringen för att upprätthålla databasprestanda och förhindra långvariga inaktiva anslutningar.

Uttömning av delat minne

Symtom

Migreringsprocessen stoppas oväntat. Loggar visar felet: out of shared memory.

Orsak

Det här felet anger att PostgreSQL har förbrukat det delade minne som allokerats för lås. Det inträffar vanligtvis när migreringsprocessen omfattar många lås utöver den aktuella inställningen för parametern max_locks_per_transaction.

Åtgärd

  • Öka värdet för parametern max_locks_per_transaction för att hantera de andra lås som krävs under migreringsprocessen.
  • Exempelkommando för att ändra den här inställningen: ALTER SYSTEM SET max_locks_per_transaction = <<>>;
  • Se till att, max_locks_per_transaction * max_connections > Number of tables + Number of indexes
  • Om problemet kvarstår bör du överväga att öka parametern shared_buffers för att säkerställa att tillräckligt med delat minne är tillgängligt för låshantering.

Felkoder för migrering

Felkod Felmeddelande Åtgärd
603000 Anslutningen misslyckades. Anslutningen till servern {serverName} misslyckades. Kontrollera att källservern kan nås från mål- eller körningsservern. Läs nätverksguiden för felsökning av anslutningsproblem.
603001 SSL-konfigurationsfel. Servern {serverName} stöder inte SSL. Kontrollera SSL-inställningarna. Ställ in SSL-läge så att det föredrar och försöker utföra migreringen igen. Läs nätverksguiden för felsökning av anslutningsproblem.
603100 Autentiseringen misslyckades. Lösenordet för servern {serverName} är felaktigt. Ange rätt lösenord och försök migreringen igen. Ej tillämpligt
603101 Databasen finns i målet. Databasen {dbName} finns på målservern. Kontrollera att målservern inte har databasen och försök migreringen igen. Ej tillämpligt
603102 Källdatabas saknas. Databasen {dbName} finns inte på källservern. Ange en giltig databas och försök migreringen igen. Ej tillämpligt
603103 Microsoft Entra-roll saknas. Microsoft Entra-rollen {roleNames} saknas på målservern. Skapa Entra-rollen och försök migreringen igen. Ej tillämpligt
603104 Replikeringsroll saknas. Användaren {0} har inte replikeringsrollen på servern {1}. Bevilja replikeringsrollen innan du försöker migrera igen. Använd ALTER ROLE <rolename> WITH REPLICATION; för att bevilja den behörighet som krävs.
603105 Fel i GUC-inställningar. Otillräckligt med replikeringsplatser på källservern för migrering. Öka GUC-parametern max_replication_slots till {0} eller högre. Källservern har inte tillräckligt med tillgängliga replikeringsplatser för att utföra onlinemigrering. Använd den här frågan SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical'; för att hämta listan över inaktiva replikeringsplatser och släppa dem med innan SELECT pg_drop_replication_slot('slot_name'); du påbörjar migreringen. Alternativt kan du ange serverparametern "max_replication_slots" till {0} eller högre. Kontrollera att parametern max_wal_senders också ändras till större än eller lika med max_replication_slots' parameter.
603106 Fel i GUC-inställningar. max_wal_senders GUC-parametern är inställd på {0}. Kontrollera att den matchar eller överskrider värdet "max_replication_slots". Ej tillämpligt
603107 Fel i GUC-inställningar. Parametern WAL-nivå för källservern är inställd på {0}. Ange GUC-parametern WAL-nivå till "logisk". Ej tillämpligt
603108 Listan över tillåtna tillägg krävs. {0} Det gick inte att installera tillägg på målservern eftersom de inte är tillåtna. Tillåtliste tilläggen och försök migreringen igen. Ange listan över tillåtna genom att följa stegen som anges i PostgreSQL-tillägg.
603109 Konfigurationsfel för delade förinläsningsbibliotek. Lägg till tillåtna {0} tillägg till "shared_preload_libraries" på målservern och försök migreringen igen. Ange de delade förinläsningsbiblioteken genom att följa stegen i PostgreSQL-tillägg. Detta kräver en omstart av servern.
603110 Otillräcklig behörighet. Migreringsanvändare saknar nödvändiga behörigheter för databasåtkomst. Kontrollera att migreringsanvändaren är ägare till källdatabaser och har både läs- och skrivbehörighet och försök migreringen igen. Ej tillämpligt
603111 Det gick inte att rensa måldatabasen. Det går inte att avsluta aktiva anslutningar i måldatabasen under förmigrationsfasen. Bevilja pg_signal_backend roll för migreringsanvändare och försök migreringen igen. Lägg till pg_signal_backend roll för migreringsanvändare med kommandot "GRANT pg_signal_backend to migration_user" (BEVILJA pg_signal_backend till <migration_user>)
603112 GUC-inställningsfel. Det gick inte att ange default_transaction_read_only GUC-parametern till av. Kontrollera att användarens skrivåtkomst är korrekt inställd och försök utföra migreringen igen. Ställ in "default_transaction_read_only" på AV på källservern via Azure Portal eller via psql-kommandot (till exempel ALTER SYSTEM SET default_transaction_read_only = off).
603113 Snabbfel. Cutover kan inte initieras för databasen {dbName} eftersom migreringen redan har statusen Slutförd/Misslyckad/Avbrytd. Ej tillämpligt
603114 Snabbfel. Cutover kan inte initieras för databasen {dbName} för migreringsläge offline. Ej tillämpligt
603115 Användarbehörighet saknas. Migreringsanvändaren{0} är inte medlem i azure_pg_admin roll. Lägg till nödvändiga behörigheter på målservern och försök migreringen igen. Ej tillämpligt
603116 Användarbehörighet saknas. Migreringsanvändaren{0} har inte behörigheten skapa roll. Lägg till nödvändiga behörigheter på målservern och försök migreringen igen. Kör frågan ALTER ROLE <rolename> WITH CREATEROLE; på målservern.
603117 Användarbehörighet saknas. Migreringsanvändaren{0} saknar nödvändiga behörigheter för att ta bort databasen {dbName} på målservern. Ta bort databasen manuellt från målservern och försök migreringen igen. Ej tillämpligt
603400 Källversionen stöds inte. Migrering av PostgreSQL-versioner nedan {0} stöds inte. Du måste använda en annan migreringsmetod.
603401 Matchningsfel för sortering. Sortering {0} i databasen {1} finns inte på målservern. Ej tillämpligt
603402 Matchningsfel för sortering. Sortering {0} för tabellen {1} i kolumnen {2} finns inte på målservern. Kontakta Microsofts support för att lägga till nödvändiga sorteringar.
603403 Matchningsfel för sortering. Källdatabasen innehåller användardefinierade sorteringar. Ta bort de här sorteringarna och försök migreringen igen. Ej tillämpligt
603404 OID:er som inte stöds har identifierats. Tabeller med "WITH OIDs" har identifierats i databasen {0}. De stöds inte i PostgreSQL version 12 och senare. Gå till Viktig information om PostgreSQL.
603405 Tillägg som inte stöds. Migreringstjänsten stöder inte migrering av databaser med {0} tillägg på målservern. Ej tillämpligt
603406 Tillägg som inte stöds. Target PostgreSQL {0} stöder POSTGIS version 3.2.3, som inte är kompatibel med källans {1}. Rekommendera målserveruppgradering till version 11. Besök PostGIS-icke-bakåtkompatibla ändringar.
603407 Schemafel för tillägg. Tillägg som {0} finns i systemschemat på källservern stöds inte på målservern. Släpp och återskapa tilläggen i ett icke-systemschema och försök sedan migrera igen. Besök PostgreSQL-tillägg.
603408 Tillägg som inte stöds. Målserverversion 16 stöder {0} inte tillägg. Migrera till version 15 eller lägre och uppgradera sedan när tilläggen stöds. Ej tillämpligt
603409 Användardefinierade casts finns. Källdatabasen {0} innehåller användardefinierade casts som inte kan migreras till målservern. Ej tillämpligt
603410 Behörighetsfel för systemtabell. Användare har åtkomst till systemtabeller som pg_authid och pg_shadow som inte kan migreras till målet. Återkalla dessa behörigheter och försök migreringen igen. Det är viktigt att du verifierar standardbehörigheterna för pg_catalog tabeller/vyer (till exempel pg_authid och pg_shadow). Dessa behörigheter kan dock inte tilldelas till målet. Mer specifikt har användaren {1} behörigheter {2} , medan användaren {3} har {4} behörigheter. En lösning finns i Användare, Roller och Behörigheter
603413 Språk som inte stöds. Migreringstjänsten stöder inte migrering av databaser med {0} språk på målservern. Ta bort språken och dess implementerade funktioner. Målservern stöder inte språk som inte stöds. Prova att inaktivera eller ta bort respektive språk på källservern innan du migrerar till målservern.
603700 Det gick inte att rensa måldatabasen. Det går inte att avsluta aktiva anslutningar i måldatabasen under fasen före migreringen/efter migreringen. Ej tillämpligt
603701 Internt serverfel. Det gick inte att skapa roller på målservern. Kontakta Microsofts support för ytterligare analys.
603702 Internt serverfel. Det gick inte att dumpa roller från källservern. Kontakta Microsofts support för ytterligare analys.
603703 Internt serverfel. Det gick inte att redigera den globala rolldumpfilen. Kontakta Microsofts support för ytterligare analys.
603704 Internt serverfel. Det gick inte att göra alla källroller till medlem i målmigreringsanvändaren. Kontakta Microsofts support för ytterligare analys.
603705 Internt serverfel. Det gick inte att återställa bidrag/återkallanden. Kontakta Microsofts support för ytterligare analys.
603706 Internt serverfel. Det gick inte att rensa målservermigreringsanvändaren. Målmigreringsanvändaren kan ingå i flera roller. Ta bort alla onödiga roller från målservermigreringsanvändaren och försök migreringen igen. Kontakta Microsofts support för ytterligare analys.
603707 Internt serverfel. Det gick inte att bevilja azure_pg_admin till källserveradministratörsanvändaren. Kontakta Microsofts support för ytterligare analys.
603708 Internt serverfel. Det gick inte att ändra ägaren till det offentliga schemat till azure_pg_admin i databasen {dbName}. Ändra ägaren av det offentliga schemat till att azure_pg_admin manuellt och försök migreringen igen. Kontakta Microsofts support för ytterligare analys.
603709 Migreringskonfigurationen misslyckades. Kontakta Microsofts support för ytterligare analys.