sys.dm_change_feed_errors (Transact-SQL)

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure SynapseAnalytics Bases de dados espelhadas em Microsoft FabricSQL database em Microsoft Fabric

Retorna erros recentes do feed de alterações, instantâneo ou processos de publicação de alterações incrementais.

Use esta visão dinâmica de gerenciamento para:

Essa visualização retorna linhas apenas quando uma das funcionalidades anteriores está configurada e registrou um erro. Caso contrário, a vista fica vazia.

Nome da Coluna Tipo de dados Description
session_id int O session_id cache de histórico mantido pelo leitor de log.
source_task tinyint ID da tarefa do feed de alterações interna.
0 = INDEFINIDO
1 = TEMPORIZADOR
2 = CAPTURA
3 = PUBLICAR
4 = CONFIRMAR
5 = INSTANTÂNEO
table_id int A object_id da tabela relevante.
table_group_id uniqueidentifier O identificador exclusivo do grupo de tabelas. É um GUID gerado pelo fluxo de configuração.
capture_phase_number int Fase de varredura do leitor de log. Se o trabalho de captura terminar, mas o trabalho de publicar ou confirmar ainda estiver em andamento, o número de fase permanece na última varredura (fase 7 de processamento em lote). Para obter mais informações, confira batch_processing_phase em sys.dm_change_feed_log_scan_sessions. Esta coluna não se aplica ao snapshot.
entry_time datetime A data e hora em que o erro foi registrado. Esse valor corresponde ao carimbo de data/hora no log de erros do SQL. No SQL Server, esse tempo é reportado em horário local. No Banco de Dados SQL do Azure, o fuso horário é UTC.
error_number int A identificação da mensagem de erro.
error_severity int O nível de severidade da mensagem, entre 1 e 25.
error_state int Número de estado do erro.
error_message nvarchar(1024) Texto da mensagem do erro.
batch_start_lsn nvarchar(23) Valor LSN de início das linhas sendo processadas quando o erro ocorreu.

0 = o erro não ocorreu em uma sessão de verificação de log.
batch_end_lsn nvarchar(23) Valor do LSN das linhas sendo processadas quando o erro ocorreu.

0 = o erro não ocorreu em uma sessão de verificação de log.
tran_begin_lsn nvarchar(23) Begin_lsn da transação com falha. É NULL para erros de snapshot.
tran_commit_lsn nvarchar(23) Confirme o LSN da linha de alteração no conjunto de linhas dos dados de alteração no qual ocorreu a falha. É NULL para erros de snapshot.
sequence_value nvarchar(23) Valor LSN das linhas sendo processadas quando o erro ocorreu.

0 = o erro não ocorreu em uma sessão de verificação de log.
command_id int ID de comando da linha de alteração que não foi publicada. É NULL para erros de snapshot.

Observações

Este DMV mostra os 64 erros mais recentes registrados. O DMV pode incluir múltiplos erros por sessão de varredura de log, como tentativas de retentativa em falhas em zonas de pouso (falhas que escrevem no armazenamento de staging onde o feed de mudanças publica as mudanças). Este DMV também mostra erros que ocorrem durante o processo de publicação de snapshots e mudanças incrementais.

A lista de erros gira automaticamente. Erros mais recentes empurram entradas anteriores. Erros que param de ocorrer permanecem até que erros mais recentes os eliminem ou a lista seja completamente limpa. A lista de erros é armazenada na memória SQL, então eventos como reiniciação do motor SQL ou desativação do feed de alterações a eliminam.

Permissions

Para consultar a visualização sys.dm_change_feed_errors de gerenciamento dinâmico, você precisa VIEWDATABASE da permissão STATE ou VIEWDATABASE PERFORMANCE STATE. Para obter mais informações sobre as permissões nas exibições de gerenciamento dinâmico, confira Exibições e funções de gerenciamento dinâmico.

No banco de dados Fabric SQL, o usuário deve receber VIEWDATABASE STATE no banco de dados para consultar esse DMV. Ou, um membro de qualquer função no espaço de trabalho do Fabric pode consultar esse DMV.

Examples

Use sys.dm_change_feed_errors para verificar se há erros recentes.

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;