sys.dm_change_feed_errors (Transact-SQL)

Si applica a: SQL Server 2022 (16.x) e versioni successive database SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsDatabase speculari in database SQL Microsoft Fabricin Microsoft Fabric

Restituisce errori recenti dai processi di pubblicazione di modifiche, snapshot o incrementali.

Usa questa vista di gestione dinamica per:

Questa vista restituisce righe solo quando una delle funzionalità precedenti è configurata e ha registrato un errore. Altrimenti, la visuale è vuota.

Nome della colonna Tipo di dati Description
session_id int La session_id cache di storia mantenuta dal lettore di log.
source_task tinyint ID attività feed di modifiche interno.
0 = INDEFINITO
1 = TIMER
2 = CATTURA
3 = PUBBLICAZIONE
4 = COMMIT
5 = ISTANTANEA
table_id int Oggetto object_id della tabella pertinente.
table_group_id uniqueidentifier Identificatore univoco del gruppo di tabelle. È un GUID generato dal flusso di configurazione.
capture_phase_number int Fase di scansione del lettore di log. Se il lavoro di cattura termina ma il lavoro di pubblicazione o commit è ancora in corso, il numero di fase rimane all'ultima scansione (fase 7 di elaborazione batch). Per altre informazioni, vedere batch_processing_phase in sys.dm_change_feed_log_scan_sessions. Questa colonna non si applica allo snapshot.
entry_time datetime La data e l'ora in cui l'errore è stato registrato. Questo valore corrisponde al timestamp nel log degli errori di SQL. In SQL Server, questo tempo viene riportato in tempo locale. In database SQL di Azure il fuso orario è UTC.
error_number int ID del messaggio di errore.
error_severity int Livello di gravità del messaggio, compreso tra 1 e 25.
error_state int Numero di contesto dell'errore.
error_message nvarchar(1024) Testo del messaggio di errore.
batch_start_lsn nvarchar(23) Valore LSN iniziale delle righe in elaborazione quando si è verificato l'errore.

0 = l'errore non si è verificato all'interno di una sessione di analisi log.
batch_end_lsn nvarchar(23) Valore LSN finale delle righe elaborate quando si è verificato l'errore.

0 = l'errore non si è verificato all'interno di una sessione di analisi log.
tran_begin_lsn nvarchar(23) Begin_lsn della transazione non riuscita. È NULL per errori snapshot.
tran_commit_lsn nvarchar(23) Eseguire il commit dell'LSN per la riga di modifica nel set di righe di dati delle modifiche in cui si è verificato l'errore. È NULL per errori snapshot.
sequence_value nvarchar(23) Valore LSN delle righe in elaborazione quando si è verificato l'errore.

0 = l'errore non si è verificato all'interno di una sessione di analisi log.
command_id int ID comando dalla riga di modifica che non è riuscita a pubblicare. È NULL per errori snapshot.

Osservazioni:

Questo DMV mostra i 64 errori registrati più recentemente. Il DMV può includere più errori per sessione di scansione log, come tentativi di ritentativo su fallimenti nelle zone di atterraggio (fallimenti che scrivono nello spazio di staging dove il flusso di modifiche pubblica le modifiche). Questo DMV mostra anche gli errori che si verificano durante il processo di pubblicazione di snapshot e modifiche incrementali.

L'elenco degli errori ruota automaticamente. Errori più recenti spostano le voci precedenti. Gli errori che smettono di verificarsi rimangono finché errori più recenti non li eliminano o la lista non si cancella completamente. La lista degli errori è memorizzata in memoria SQL, quindi eventi come il riavvio del motore SQL o la disabilitazione del feed delle modifiche lo cancellano.

Permissions

Per interrogare la sys.dm_change_feed_errors vista di gestione dinamica, è necessario VIEWDATABASE il permesso STATE o VIEWDATABASE PERFORMANCE STATE. Per altre informazioni sulle autorizzazioni per le viste a gestione dinamica, vedere Dynamic Management Views and Functions.For more information about permissions on dynamic management views, see Dynamic Management Views and Functions.

Nel database Fabric SQL, un utente deve avere STATE VIEWDATABASE nel database per poter interrogare questa DMV. Oppure, un membro di qualsiasi ruolo nello spazio di lavoro Fabric può interrogare questo DMV.

Examples

Usare sys.dm_change_feed_errors per verificare la presenza di eventuali errori recenti.

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;