Dela via


Felsöka infrastrukturspeglingsdatabaser från Azure Database for PostgreSQL – flexibel server

Den här artikeln beskriver felsökningssteg för spegling av flexibel Azure Database for PostgreSQL-server.

Felsöka fel/varningsmeddelanden under tabellval för spegling

När du skapar en ny speglad databas kan du på sidan Välj data få viss visuell feedback om specifika tabeller i källdatabasen. Följande tabell innehåller en lista över potentiella problem, inklusive det meddelande som visas och en relaterad beskrivning av hur du löser problemet.

Statuskod Statustyp Message Description
SCHEMA_DOES_NOT_EXIST ERROR Schemat {} finns inte Det angivna schemat finns inte. Den kunde ha tagits bort medan Fabric hämtade relevant tabellinformation. Försök igen.
TABLE_DOES_NOT_EXIST ERROR Tabellen finns inte i schemat{}{}. Den angivna tabellen finns inte. Den kunde ha tagits bort medan Fabric hämtade relevant tabellinformation. Försök igen.
FORBIDDEN_CHARS_IN_COLUMN_NAME ERROR Tabell {}.{} innehåller otillåtna tecken i namn på kolumner {} Den angivna kolumnen har tecken som inte stöds i namnet. 1
UNSUPPORTED_DATA_TYPE ERROR Tabell {}.{} har datatypen som inte stöds i kolumnen {} En (eller flera) av tabellens kolumner har för närvarande datatyper som inte stöds. 3
FORBIDDEN_CHARS_IN_TABLE_NAME ERROR Tabell {}.{} innehåller otillåtna tecken i namn Tabellnamnet har tecken som inte stöds. 1
NOT_REGULAR_TABLE ERROR Tabell {}.{} är inte en vanlig tabell Tabelltyp stöds inte för spegling. 2
HAS_PRIMARY_KEY OK Tabell {}.{} har en primärnyckel Tabellen är en vanlig tabell och har en giltig primärnyckel som används för spegling.
HAS_UNIQUE_INDEX OK Tabell {}.{} har ett lämpligt unikt index Tabellen har ingen primärnyckel, men har ett unikt index som ska användas för spegling.
NO_INDEX_FULL_IDENTITY VARNING Tabell {}.{} har inget lämpligt unikt index. Använda fullständig identitet Tabellen har ingen primärnyckel eller ett unikt index, så REPLICA IDENTITY FULL det krävs för att stödja spegling, vilket kan orsaka prestandaproblem.

1 Objektidentifierare med blankstegstecken (' ') stöds inte.

2 Den här tabelltypen stöds inte för spegling. För närvarande stöds inte vyer, materialiserade vyer, sekundärtabeller och partitionerade tabeller.

3 En lista över datatyper som inte stöds finns i Begränsningar. Endast kolumner med följande typer stöds:

  • bigint
  • bigserial
  • boolean
  • bytea
  • character
  • character varying
  • date
  • double precision
  • integer
  • numeric
  • real
  • serial
  • oid
  • money
  • smallint
  • smallserial
  • text
  • time without time zone
  • time with time zone (* inte som primärnyckel)
  • timestamp without time zone
  • timestamp with time zone
  • uuid

I Postgres anses två "time with time zone"-värden som motsvarar exakt samma ögonblick, men i olika tidszoner, vara olika. Till exempel: 06:24:00.59+05 och 05:24:00.59+04 motsvarar samma epoktid, men Postgres behandlar dem annorlunda.

Ändringar i Fabric-kapacitet eller arbetsytor

Orsak Result Rekommenderad lösning
Infrastrukturkapaciteten har pausats/tagits bort Speglingsstopp 1. Återuppta eller tilldela kapacitet från Azure-portalen
2. Gå till Infrastrukturspeglingsdatabasobjekt. I verktygsfältet väljer du Stoppa replikering.
3. Starta replikeringen genom att välja Speglingsdatabas för det speglade objektet i Infrastrukturportalen.
Infrastrukturkapaciteten återupptas Speglingen återupptas inte 1. Gå till Infrastrukturspeglingsdatabasobjekt. I verktygsfältet väljer du Stoppa replikering.
2. Starta replikeringen genom att välja Speglingsdatabas för det speglade objektet i Infrastrukturportalen.
Arbetsytan har tagits bort Spegling stoppas automatiskt Om speglingen fortfarande är aktiv på den flexibla Servern Azure Database for PostgreSQL ansluter du med hjälp av en serveradministratör och kör följande kommandon på PostgreSQL-servern: select azure_cdc.list_tracked_publications();, använder sedan det returnerade publikationsnamnet och kör select azure_cdc.stop_publication(<publication_name>);
Utvärderingskapaciteten för infrastrukturresurser har upphört att gälla Spegling stoppas automatiskt Mer information finns i Avsnittet om att utvärderingskapaciteten för infrastrukturresurser upphör att gälla.
Infrastrukturkapaciteten överskreds Spegling pausar Vänta tills överlagringstillståndet är över eller uppdatera kapaciteten. Läs mer från Åtgärder som du kan vidta för att återställa från överlagringssituationer. Speglingen fortsätter när kapaciteten har återställts.
Några andra resursfel Spegling är inaktiverat För att säkerställa att dina beräkningsresurser inte påverkas och för att minimera påverkan på den flexibla Azure Database for PostgreSQL-servern inaktiveras spegling på eventuella beständiga resursfel.
Inställningen "Användare kan komma åt data som lagras i OneLake med appar utanför Fabric" inaktiverad "Replikator – tabeller kan inte nå replikeringsstatus" Aktivera hyresgästsinställningen Användare kan komma åt data som lagras i OneLake med appar utanför Fabric.

SQL-frågor för felsökning

Om du har speglingsproblem utför du följande kontroller på servernivå med hjälp av systemvyer och funktioner för att verifiera konfigurationen.

  1. Kör följande fråga för att kontrollera om ändringarna flödar korrekt:

    select * from azure_cdc.tracked_publications;
    

    Kontrollera om publikationen är aktiv och ögonblicksbilden har genererats. Du kan också kontrollera om efterföljande ändringsbatch har genererats genom att fråga:

    select * from azure_cdc.tracked_batches;
    
  2. azure_cdc.tracked_publications Om vyn inte visar några förlopp vid bearbetning av inkrementella ändringar kör du följande SQL-fråga för att kontrollera om det finns några rapporterade problem:

    SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';
    
  3. Om inga problem rapporteras kör du följande kommando för att granska den aktuella konfigurationen av den speglade PostgreSQL-databasen. Bekräfta att den har aktiverats korrekt.

    SELECT * FROM pg_replication_slots;
    

    De nyckelkolumner som ska sökas efter här är slot_name och active. Alla värden förutom t (true) indikerar ett potentiellt problem.

  4. Kontakta supporten om felsökning krävs.

Hanterad identitet

Den systemtilldelade hanterade identiteten (SAMI) för den flexibla Azure Database for PostgreSQL-servern måste vara aktiverad och måste vara den primära identiteten. Mer information finns i Systemtilldelad hanterad identitet för flexibel PostgreSQL-server.

Om SAMI-inställningsstatusen senare inaktiveras och sedan aktiveras igen efter aktiveringen, misslyckas speglingen av Azure Database for PostgreSQL– flexibel server till Fabric OneLake.

Kontrollera att SAMI är aktiverat med följande fråga: show azure.service_principal_id;

SAMI-behörigheter

Ta inte bort Azure Database for PostgreSQL– SAMI-deltagarbehörigheter (System Assigned Managed Identity) för infrastrukturspeglingsdatabasobjekt.

Om du av misstag tar bort SAMI-behörigheter fungerar inte spegling av flexibel Server i Azure Database for PostgreSQL som förväntat. Inga nya data kan speglas från källdatabasen.

Om du tar bort Azure Database for PostgreSQL–SAMI-behörigheter för flexibel server eller om behörigheter inte har konfigurerats korrekt använder du följande steg.

  1. Lägg till SAMI för flexibel server som användare genom att välja ellipsalternativet ... på det speglade databasobjektet.
  2. Välj alternativet Hantera behörigheter .
  3. Ange namnet på den flexibla Azure Database for PostgreSQL-servern. Ange läs- och skrivbehörigheter .