Condividi tramite


sys.dm_change_feed_errors (Transact-SQL)

Si applica a: SQL Server 2022 (16.x) database SQL di Azure Azure Synapse Analytics Warehouse nel database SQL di Microsoft Fabric in Microsoft Fabric

Restituisce errori recenti dai processi di pubblicazione del feed di modifiche, dello snapshot o incrementali

Questa vista a gestione dinamica viene usata per:

Nome colonna Tipo di dati Descrizione
session_id int Si tratta dell'oggetto session_id gestito dalla cache della cronologia del lettore di log.
source_task tinyint ID attività feed di modifiche interno.
0 = UNDEFINED
1 = TIMER
2 = CAPTURE
3 = PUBBLICAZIONE
4 = COMMIT
5 = SNAPSHOT
table_id int Oggetto object_id della tabella pertinente.
table_group_id uniqueidentifier Identificatore univoco del gruppo di tabelle. Sarà un GUID generato dal flusso di installazione.
capture_phase_number int Fase di analisi del lettore di log, se il processo di acquisizione viene completato e il commit è ancora in corso, la fase rimane ancora in fase di ultima analisi (fase di elaborazione batch 7). Per altre informazioni, vedere batch_processing_phase in sys.dm_change_feed_log_scan_sessions. Non si applica allo snapshot.
entry_time datetime Data e ora di registrazione dell'errore. Questo valore corrisponde al timestamp nel log degli errori di SQL. In SQL Server questa volta segnala l'ora 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 Saranno per gli errori di 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 Saranno per gli errori di 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 Saranno per gli errori di snapshot.

Osservazioni:

Questa DMV mostra gli errori delle ultime 32 sessioni. Una sessione può includere più errori, ad esempio tentativi di ripetizione delle operazioni in caso di errori della zona di destinazione. Questa DMV mostrerà anche gli errori riscontrati durante il processo di pubblicazione di snapshot e modifiche incrementali.

Autorizzazioni

È richiesta l'autorizzazione VIEW DATABASE STATE o VIEW DATABASE PERFORMANCE STATE per eseguire query sulla sys.dm_change_feed_errors vista a gestione dinamica. 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 SQL di Infrastruttura è necessario concedere a un utente VIEW DATABASE STATE nel database per eseguire query su questa DMV. In alternativa, un membro di qualsiasi ruolo dell'area di lavoro infrastruttura può eseguire query su questa DMV.

Esempi

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;