sys.dm_change_feed_errors (Transact-SQL)

Van toepassing op: SQL Server 2022 (16.x) en latere versies Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMirrored databases in Microsoft Fabric SQLdatabase in Microsoft Fabric

Retourneert recente fouten uit de wijzigingenfeed, momentopname of incrementele wijzigingspubliceerprocessen.

Gebruik deze dynamische beheerweergave voor:

Deze weergave geeft alleen rijen terug wanneer een van de voorgaande functies is geconfigureerd en een foutmelding heeft gemaakt. Anders is het uitzicht leeg.

Kolomnaam Gegevenstype Beschrijving
session_id int De session_id door geschiedenis bijgehouden cache van de loglezer.
source_task tinyint Taak-id van interne wijzigingenfeed.
0 = NIET GEDEFINIEERD
1 = TIMER
2 = VANGST
3 = PUBLICEREN
4 = DOORVOEREN
5 = MOMENTOPNAME
table_id int De object_id relevante tabel.
table_group_id uniqueidentifier De unieke id van de tabelgroep. Het is een GUID die wordt gegenereerd door de setup-flow.
capture_phase_number int Loglezer scanfase. Als de capture job is voltooid maar de publish or commit-job nog steeds bezig is, blijft het fasenummer bij de laatste scan (batchverwerkingsfase 7). Zie batch_processing_phase voor meer informatie. Deze kolom is niet van toepassing op snapshot.
entry_time datetime De datum en tijd waarop de fout werd geregistreerd. Deze waarde komt overeen met de tijdstempel in het SQL-foutlogboek. In SQL Server wordt deze tijd in lokale tijd weergegeven. In Azure SQL Database is de tijdzone UTC.
error_number int Id van het foutbericht.
error_severity int Ernstniveau van het bericht, tussen 1 en 25.
error_state int Statusnummer van de fout.
error_message nvarchar(1024) Berichttekst van de fout.
batch_start_lsn Nvarchar(23) Startwaarde van de LSN-waarde van de rijen die worden verwerkt toen de fout optrad.

0 = de fout is niet opgetreden in een logboekscansessie.
batch_end_lsn Nvarchar(23) LSN-waarde beƫindigen van de rijen die worden verwerkt wanneer de fout is opgetreden.

0 = de fout is niet opgetreden in een logboekscansessie.
tran_begin_lsn Nvarchar(23) Begin_lsn van de mislukte transactie. Het is NULL voor snapshotfouten.
tran_commit_lsn Nvarchar(23) LSN doorvoeren voor de wijzigingsrij in de gegevensrijset waarop de fout is opgetreden. Het is NULL voor snapshotfouten.
sequence_value Nvarchar(23) LSN-waarde van de rijen die werden verwerkt toen de fout optrad.

0 = de fout is niet opgetreden in een logboekscansessie.
command_id int Opdracht-id uit de wijzigingsrij die niet kan worden gepubliceerd. Het is NULL voor snapshotfouten.

Opmerkingen

Dit DMV toont de 64 meest recent geregistreerde fouten. De DMV kan meerdere fouten per logscansessie bevatten, zoals opnieuw pogingen bij mislukte landingszones (fouten bij het schrijven naar de stagingopslag waar de wijzigingsfeed wijzigingen publiceert). Deze DMV toont ook fouten die optreden tijdens het snapshot- en incrementele wijzigingspublicatieproces.

De lijst met fouten roteert automatisch. Nieuwere fouten verdringen eerdere vermeldingen. Fouten die stoppen blijven bestaan totdat nieuwere fouten ze verdrijven of de lijst volledig is gewist. De foutenlijst wordt opgeslagen in SQL-geheugen, dus gebeurtenissen zoals het herstarten van de SQL-engine of het uitschakelen van de wijzigingsfeed wissen deze op.

Permissions

Om de sys.dm_change_feed_errors dynamische beheerweergave te bevragen, heb je STATE- of VIEWDATABASE PERFORMANCE STATE-perspectief nodigVIEWDATABASE. Zie Dynamische beheerweergaven en -functies voor meer informatie over machtigingen voor dynamische beheerweergaven.

In de Fabric SQL-database moet een gebruiker STATE in de database krijgen VIEWDATABASE om deze DMV te kunnen opvragen. Of een lid van een willekeurige rol in de Fabric-werkruimte kan deze DMV opvragen.

Examples

Gebruik sys.dm_change_feed_errors dit om te controleren op recente fouten.

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;