Delen via


Problemen oplossen met gespiegelde fabricdatabases van flexibele Azure Database for PostgreSQL-server

In dit artikel worden stappen beschreven voor probleemoplossing voor het spiegelen van flexibele Azure Database for PostgreSQL-servers.

Fout-/waarschuwingsberichten oplossen tijdens het selecteren van tabellen voor spiegeling

Wanneer u een nieuwe gespiegelde database maakt, ontvangt u op de pagina Gegevens kiezen mogelijk visuele feedback over specifieke tabellen in de brondatabase. De volgende tabel bevat een lijst met mogelijke problemen, waaronder het weergegeven bericht en de bijbehorende beschrijving over het oplossen van het probleem.

Statuscode Statustype Message Description
SCHEMA_DOES_NOT_EXIST ERROR Het schema {} bestaat niet Het opgegeven schema bestaat niet. Het kan zijn verwijderd terwijl Fabric relevante tabelgegevens ophaalt. Probeer het opnieuw.
TABLE_DOES_NOT_EXIST ERROR In het schema {}bestaat de tabel {} niet. De gegeven tabel bestaat niet. Het kan zijn verwijderd terwijl Fabric relevante tabelgegevens ophaalt. Probeer het opnieuw.
FORBIDDEN_CHARS_IN_COLUMN_NAME ERROR Tabel {}.{} bevat verboden tekens in de naam van kolommen {} De opgegeven kolom heeft een niet-ondersteund teken in de naam. 1
UNSUPPORTED_DATA_TYPE ERROR Tabel {}.{} heeft niet-ondersteund gegevenstype in kolom {} Een (of meer) kolommen van een tabel bevatten momenteel niet-ondersteunde gegevenstypen. 3
FORBIDDEN_CHARS_IN_TABLE_NAME ERROR Tabel {}.{} bevat verboden tekens in naam Tabelnaam bevat niet-ondersteunde tekens. 1
NOT_REGULAR_TABLE ERROR Tabel {}.{} is geen gewone tabel Het tabeltype wordt niet ondersteund voor spiegeling. 2
HAS_PRIMARY_KEY OK Tabel {}.{} heeft een primaire sleutel Tabel is een gewone tabel en heeft een geldige primaire sleutel die wordt gebruikt voor spiegeling.
HAS_UNIQUE_INDEX OK Tabel {}.{} heeft een geschikte unieke index Tabel heeft geen primaire sleutel, maar heeft een unieke index die moet worden gebruikt voor spiegeling.
NO_INDEX_FULL_IDENTITY WAARSCHUWING Tabel {}.{} heeft geen geschikte unieke index. Volledige identiteit gebruiken Tabel heeft geen primaire sleutel of een unieke index, dus REPLICA IDENTITY FULL is vereist voor het ondersteunen van spiegeling, wat prestatieproblemen kan veroorzaken.

1 Object-id's met een spatie (' ') worden niet ondersteund.

2 Dit tabeltype wordt niet ondersteund voor spiegeling. Momenteel worden weergaven, gerealiseerde weergaven, refererende tabellen en gepartitioneerde tabellen niet ondersteund.

3 Zie Beperkingen voor een lijst met niet-ondersteunde gegevenstypen. Alleen kolommen met de volgende typen worden ondersteund:

  • 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 (* niet als primaire sleutel)
  • timestamp without time zone
  • timestamp with time zone
  • uuid

In Postgres worden twee 'tijd met tijdzone'-waarden die exact hetzelfde moment overeenkomen, maar in verschillende tijdzones als verschillend beschouwd. Bijvoorbeeld: 06:24:00.59+05 en 05:24:00.59+04 corresponderen met dezelfde tijdsduur, maar Postgres behandelt ze anders.

Wijzigingen in Fabriccapaciteit of -werkruimte

Oorzaak Resultaat Aanbevolen oplossing
Infrastructuurcapaciteit onderbroken/verwijderd Spiegelingsstops 1. Capaciteit hervatten of toewijzen vanuit Azure Portal
2. Ga naar fabric gespiegeld database-item. Selecteer replicatie stoppen in de werkbalk.
3. Start de replicatie door spiegeldatabase te selecteren voor het gespiegelde item in de Fabric-portal.
Infrastructuurcapaciteit hervat Spiegelen wordt niet hervat 1. Ga naar fabric gespiegeld database-item. Selecteer replicatie stoppen in de werkbalk.
2. Start de replicatie door spiegeldatabase te selecteren voor het gespiegelde item in de Fabric-portal.
Werkruimte verwijderd Spiegeling stopt automatisch Als spiegeling nog steeds actief is op de flexibele Server van Azure Database for PostgreSQL, maakt u verbinding met een serverbeheerder en voert u de volgende opdrachten uit op uw PostgreSQL-server: select azure_cdc.list_tracked_publications();, gebruikt u de geretourneerde publicatienaam en voert u de opdracht uit select azure_cdc.stop_publication(<publication_name>);
Capaciteit van de fabric-proefversie is verlopen Spiegeling stopt automatisch Bekijk hoe de capaciteit van de fabric-proefversie verloopt.
Capaciteit van infrastructuur is overschreden Spiegeling pauzes Wacht totdat de overbelastingsstatus voorbij is of werk de capaciteit bij. Meer informatie over acties die u kunt ondernemen om te herstellen uit overbelastingssituaties. Spiegeling wordt voortgezet zodra de capaciteit is hersteld.
Andere mogelijke bronfouten Spiegelen is uitgeschakeld Om ervoor te zorgen dat uw rekenresources niet worden beïnvloed en om de impact op de flexibele Azure Database for PostgreSQL-server te minimaliseren, wordt spiegeling uitgeschakeld op permanente resourcefouten.
De instelling 'Gebruikers kunnen toegang krijgen tot gegevens die zijn opgeslagen in OneLake met apps buiten Fabric' is uitgeschakeld. "Replicator - Tabellen kunnen de replicatiestatus niet bereiken" Schakel de tenantinstelling in Gebruikers hebben toegang tot gegevens die zijn opgeslagen in OneLake met apps buiten Fabric.

SQL-query's voor probleemoplossing

Als u problemen ondervindt met spiegelen, voert u de volgende controles op serverniveau uit met behulp van systeemweergaven en -functies om de configuratie te valideren.

  1. Voer de volgende query uit om te controleren of de wijzigingen correct stromen:

    select * from azure_cdc.tracked_publications;
    

    Controleer of de publicatie actief is en er een momentopname is gegenereerd. U kunt ook controleren of volgende wijzigingsbatches zijn gegenereerd door query's uit te voeren:

    select * from azure_cdc.tracked_batches;
    
  2. Als in de azure_cdc.tracked_publications weergave geen voortgang wordt weergegeven bij het verwerken van incrementele wijzigingen, voert u de volgende SQL-query uit om te controleren of er problemen zijn gerapporteerd:

    SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';
    
  3. Als er geen problemen zijn gerapporteerd, voert u de volgende opdracht uit om de huidige configuratie van de gespiegelde PostgreSQL-database te controleren. Controleer of deze juist is ingeschakeld.

    SELECT * FROM pg_replication_slots;
    

    De belangrijkste kolommen die u hier kunt zoeken, zijn de slot_name en active. Elke waarde naast t (true) geeft een potentieel probleem aan.

  4. Neem contact op met de ondersteuning als probleemoplossing is vereist.

Beheerde identiteit

De door het systeem toegewezen beheerde identiteit (SAMI) van de flexibele Azure Database for PostgreSQL-server moet zijn ingeschakeld en moet de primaire identiteit zijn. Zie De door het systeem toegewezen beheerde identiteit voor flexibele PostgreSQL-server voor meer informatie.

Als na het inschakelen de SAMI-instellingsstatus later is uitgeschakeld en opnieuw is ingeschakeld, mislukt het spiegelen van flexibele Azure Database for PostgreSQL-server naar Fabric OneLake.

Controleer of de SAMI is ingeschakeld met de volgende query: show azure.service_principal_id;

SAMI-machtigingen

Verwijder geen inzendermachtigingen voor azure Database for PostgreSQL Flexible Server System Assigned Managed Identity (SAMI) voor het gespiegelde database-item van Fabric.

Als u per ongeluk SAMI-machtigingen verwijdert, werkt spiegelen van Azure Database for PostgreSQL flexibele server niet zoals verwacht. Er kunnen geen nieuwe gegevens worden gespiegeld vanuit de brondatabase.

Als u SAMI-machtigingen of -machtigingen voor Azure Database for PostgreSQL flexibele server verwijdert, moet u de volgende stappen uitvoeren.

  1. Voeg de flexibele server-SAMI toe als gebruiker door de ... optie weglatingstekens op het gespiegelde database-item te selecteren.
  2. Selecteer de optie Machtigingen beheren .
  3. Voer de naam in van de flexibele Azure Database for PostgreSQL-server. Geef lees - en schrijfmachtigingen op.