sys.dm_change_feed_errors (Transact-SQL)

Gäller för: SQL Server 2022 (16.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMirrored databases in Microsoft Fabric SQLdatabase in Microsoft Fabric

Returnerar de senaste felen från publiceringsprocesserna för ändringsflöde, ögonblicksbild eller inkrementell ändring.

Använd denna dynamiska förvaltningsvy för:

Denna vy returnerar rader endast när en av de föregående funktionerna är konfigurerad och har loggat ett fel. Annars är vyn tom.

Kolumnnamn Datatyp Beskrivning
session_id int Den session_id loggläsarens loggläsares underhållna av historikcachen.
source_task tinyint Internt aktivitets-ID för ändringsflöde.
0 = ODEFINIERAD
1 = TIMER
2 = FÅNGST
3 = PUBLICERA
4 = ÅTAGANDE
5 = ÖGONBLICKSBILD
table_id int Den object_id relevanta tabellens.
table_group_id uniqueidentifier Den unika identifieraren för tabellgruppen. Det är en GUID som genereras av installationsflödet.
capture_phase_number int Log reader scan-fas. Om fångstjobbet avslutas men publicerings- eller commit-jobbet fortfarande pågår, stannar fasnumret kvar vid den senaste skanningen (batchbearbetningsfas 7). Mer information batch_processing_phase finns i sys.dm_change_feed_log_scan_sessions. Den här kolumnen gäller inte snapshot.
entry_time datetime Datum och tid då felet loggades. Detta värde motsvarar tidsstämpeln i SQL-felloggen. I SQL Server rapporteras denna tid i lokal tid. I Azure SQL Database är tidszonen UTC.
error_number int ID för felmeddelandet.
error_severity int Meddelandets svårighetsgrad, mellan 1 och 25.
error_state int Felets tillståndsnummer.
error_message nvarchar(1024) Meddelande med felmeddelandet.
batch_start_lsn nvarchar(23) Startvärdet LSN för raderna som bearbetas när felet uppstod.

0 = felet uppstod inte i en logggenomsökningssession.
batch_end_lsn nvarchar(23) Slutvärdet för LSN för de rader som bearbetas när felet inträffade.

0 = felet uppstod inte i en logggenomsökningssession.
tran_begin_lsn nvarchar(23) Begin_lsn av den misslyckade transaktionen. Det är för NULL snapshot-fel.
tran_commit_lsn nvarchar(23) Checka in LSN för ändringsraden i den ändringsdatarad som felet inträffade på. Det är för NULL snapshot-fel.
sequence_value nvarchar(23) LSN-värdet för raderna som bearbetades när felet inträffade.

0 = felet uppstod inte i en logggenomsökningssession.
command_id int Kommando-ID från ändringsraden som inte kunde publiceras. Det är för NULL snapshot-fel.

Anmärkningar

Detta DMV visar upp till de 64 senast registrerade felen. DMV kan inkludera flera fel per loggskanning, såsom försök på omprövningar vid landningszonsmisslyckanden (misslyckanden vid skrivning till staging-lagringen där ändringsflödet publicerar ändringar). Detta DMV visar också fel som uppstår under snapshot- och inkrementell publiceringsprocess.

Fellistan roterar automatiskt. Nyare fel driver ut tidigare inlägg. Fel som slutar uppstå kvarstår tills nya fel driver ut dem eller listan raderas helt. Fellistan lagras i SQL-minnet, så händelser som att SQL engine-startar om eller inaktiverar ändringsflödet rensar den.

Permissions

För att söka i den dynamiska sys.dm_change_feed_errors hanteringsvyn behöver VIEWDATABASE du behörighet STATE eller VIEWDATABASE PERFORMANCE STATE . Mer information om behörigheter för dynamiska hanteringsvyer finns i Dynamiska hanteringsvyer och funktioner.

I Fabric SQL-databasen måste en användare få tillstånd VIEWDATABASE i databasen för att kunna fråga detta DMV. Eller så kan en medlem i vilken roll som helst i Fabric-arbetsområdet fråga denna DMV.

Examples

Använd sys.dm_change_feed_errors för att söka efter de senaste felen.

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;