Sdílet prostřednictvím


Řešení potíží se zrcadlenými databázemi prostředků infrastruktury z flexibilního serveru Azure Database for PostgreSQL

Tento článek popisuje postup řešení potíží pro zrcadlení flexibilního serveru Azure Database for PostgreSQL.

Řešení chybových a upozorňujících zpráv při výběru tabulky pro zrcadlení

Když vytvoříte novou zrcadlenou databázi, na stránce Zvolit data můžete obdržet vizuální zpětnou vazbu týkající se konkrétních tabulek ve zdrojové databázi. Následující tabulka obsahuje seznam potenciálních problémů, včetně zobrazené zprávy a souvisejícího popisu, jak problém vyřešit.

Stavový kód Typ stavu Message Description
SCHEMA_DOES_NOT_EXIST ERROR Schéma {} neexistuje. Dané schéma neexistuje. Během načítání relevantních informací o tabulce mohlo dojít k odebrání prostředků infrastruktury. Zkuste to znovu.
TABLE_DOES_NOT_EXIST ERROR Ve schématu {}tabulka {} neexistuje. Daná tabulka neexistuje. Během načítání relevantních informací o tabulce mohlo dojít k odebrání prostředků infrastruktury. Zkuste to znovu.
FORBIDDEN_CHARS_IN_COLUMN_NAME ERROR Tabulka {}.{} obsahuje zakázané znaky v názvu sloupců. {} Daný sloupec má nepodporovaný znak v názvu. 1
UNSUPPORTED_DATA_TYPE ERROR Tabulka {}.{} má ve sloupci nepodporovaný datový typ {} Jeden (nebo více) sloupců tabulky má aktuálně nepodporované datové typy. 3
FORBIDDEN_CHARS_IN_TABLE_NAME ERROR Tabulka {}.{} obsahuje zakázané znaky v názvu Název tabulky má nepodporované znaky. 1
NOT_REGULAR_TABLE ERROR Tabulka {}.{} není běžná tabulka Typ tabulky není podporován pro zrcadlení. 2
HAS_PRIMARY_KEY OK Table {}.{} has a primary key Tabulka je běžná tabulka a má platný primární klíč používaný pro zrcadlení.
HAS_UNIQUE_INDEX OK Tabulka {}. má vhodný jedinečný index.{} Tabulka nemá primární klíč, ale má jedinečný index, který se použije pro zrcadlení.
NO_INDEX_FULL_IDENTITY VAROVÁNÍ Tabulka {}.{} nemá vhodný jedinečný index. Použití úplné identity Tabulka nemá primární klíč ani jedinečný index, takže REPLICA IDENTITY FULL je potřeba podporovat zrcadlení, což může způsobit problémy s výkonem.

1 Identifikátory objektů s znakem mezery (' ') nejsou podporovány.

2 Tento typ tabulky není podporován pro zrcadlení. Zobrazení, materializovaná zobrazení, cizí tabulky a dělené tabulky se v současné době nepodporují.

3 Seznam nepodporovaných datových typů najdete v tématu Omezení. Podporují se pouze sloupce s následujícími typy:

  • 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 (* není jako primární klíč)
  • timestamp without time zone
  • timestamp with time zone
  • uuid

V Postgres jsou dvě hodnoty time with time zone (čas s časovým pásmem), které odpovídají přesně stejnému okamžiku, ale v různých časových pásmech, se považují za odlišné. Příklad: 06:24:00.59+05 a 05:24:00.59+04 odpovídá stejné epochě, ale Postgres je zpracovává odlišně.

Změny kapacity nebo pracovního prostoru Fabric

Příčina Result Doporučené řešení
Kapacita prostředků infrastruktury se pozastavila nebo odstranila Zarážky zrcadlení 1. Obnovení nebo přiřazení kapacity z webu Azure Portal
2. Přejděte na položku databáze zrcadlené v prostředcích infrastruktury. Na panelu nástrojů vyberte Zastavit replikaci.
3. Spusťte replikaci výběrem zrcadlové databáze pro zrcadlenou položku na portálu Fabric.
Obnovená kapacita prostředků infrastruktury Zrcadlení nebude obnoveno. 1. Přejděte na položku databáze zrcadlené v prostředcích infrastruktury. Na panelu nástrojů vyberte Zastavit replikaci.
2. Spusťte replikaci výběrem zrcadlové databáze pro zrcadlenou položku na portálu Fabric.
Odstraněný pracovní prostor Zrcadlení se zastaví automaticky Pokud je zrcadlení stále aktivní na flexibilním serveru Azure Database for PostgreSQL, připojte se pomocí správce serveru a spusťte na serveru PostgreSQL následující příkazy: a pak použijte vrácený název publikace a spusťte příkazy: select azure_cdc.list_tracked_publications();select azure_cdc.stop_publication(<publication_name>);
Platnost zkušební kapacity prostředků infrastruktury vypršela. Zrcadlení se zastaví automaticky Podívejte se, jak vyprší platnost zkušební kapacity Fabric.
Došlo k překročení kapacity prostředků infrastruktury. Zrcadlení pozastavit Počkejte, až se stav přetížení přetíží nebo aktualizuje vaši kapacitu. Další informace najdete v akcích, které můžete provést k zotavení z přetížení situací. Zrcadlení pokračuje po obnovení kapacity.
Ostatní chyby prostředků Zrcadlení je zakázané. Aby se zajistilo, že vaše výpočetní prostředky nebudou ovlivněné, a aby se minimalizoval dopad na flexibilní server Azure Database for PostgreSQL, zrcadlení zakáže případné trvalé chyby prostředků.
Nastavení pro možnost "Uživatelé můžou přistupovat k datům uloženým ve OneLake pomocí aplikací, které nejsou součástí Fabric," je zakázáno. Replikátor – Tabulky nemůžou dosáhnout replikujícího stavu Povolte nastavení nájemce uživatelé mohou přistupovat k datům uloženým ve OneLake pomocí aplikací mimo Fabric.

Dotazy SQL pro řešení potíží

Pokud dochází k problémům se zrcadlením, pomocí systémových zobrazení a funkcí ověřte konfiguraci pomocí následujících kontrol na úrovni serveru.

  1. Spuštěním následujícího dotazu zkontrolujte, jestli změny správně postupují:

    select * from azure_cdc.tracked_publications;
    

    Zkontrolujte, jestli je publikace aktivní a jestli se vygeneroval snímek. Dotazováním můžete také zkontrolovat, jestli se vygenerovaly následné dávky změn:

    select * from azure_cdc.tracked_batches;
    
  2. Pokud zobrazení azure_cdc.tracked_publications nezobrazuje žádný průběh zpracování přírůstkových změn, spusťte následující dotaz SQL a zkontrolujte, jestli nedošlo k nějakým problémům:

    SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';
    
  3. Pokud se nenahlásí žádné problémy, spusťte následující příkaz a zkontrolujte aktuální konfiguraci zrcadlené databáze PostgreSQL. Ověřte, že je správně povolený.

    SELECT * FROM pg_replication_slots;
    

    Klíčové sloupce, které je třeba hledat, jsou slot_name a active. Jakákoli hodnota kromě t hodnoty (true) značí potenciální problém.

  4. Pokud se vyžaduje řešení potíží, obraťte se na podporu .

Spravovaná identita

Musí být povolená spravovaná identita přiřazená systémem (SAMI) flexibilního serveru Azure Database for PostgreSQL a musí to být primární identita. Další informace najdete v tématu Spravovaná identita přiřazená systémem pro flexibilní server PostgreSQL.

Pokud je po povolení stav nastavení SAMI později zakázaný, pak se zrcadlení flexibilního serveru Azure Database for PostgreSQL na Fabric OneLake nezdaří.

Pomocí následujícího dotazu ověřte, že je povolená sami: show azure.service_principal_id;

Oprávnění SAMI

Neodebídejte oprávnění přispěvatele spravované identity (SAMI) flexibilního serveru Azure Database for PostgreSQL přiřazená systémem na zrcadlené databázové položce.

Pokud omylem odeberete oprávnění SAMI, flexibilní server Zrcadlení služby Azure Database for PostgreSQL nefunguje podle očekávání. Ze zdrojové databáze nelze zrcadlit žádná nová data.

Pokud odeberete oprávnění SAMI flexibilního serveru Azure Database for PostgreSQL nebo oprávnění nejsou správně nastavená, postupujte následovně.

  1. Přidejte flexibilní server SAMI jako uživatele výběrem ... možnosti se třemi tečkami u zrcadlené položky databáze.
  2. Vyberte možnost Spravovat oprávnění .
  3. Zadejte název flexibilního serveru Azure Database for PostgreSQL. Zadejte oprávnění ke čtení a zápisu .