sys.dm_change_feed_errors (Transact-SQL)

适用于:Microsoft Fabric 中 Microsoft Fabric SQL 数据库中的 Azure Synapse Analytics Warehouse Azure SQL 数据库 SQL Server 2022 (16.x)

从更改源、快照或增量更改发布进程返回最近的错误

此动态管理视图用于:

列名称 数据类型 描述
session_id int 这是由日志阅读器的历史缓存维护的 session_id
source_task tinyint 内部更改源任务 ID。
0 = UNDEFINED
1 = TIMER
2 = CAPTURE
3 = PUBLISH
4 = COMMIT
5 = SNAPSHOT
table_id int 相关表的 object_id
table_group_id uniqueidentifier 表组的唯一标识符。 这将是由设置流生成的 GUID。
capture_phase_number int 日志读取器扫描阶段,如果捕获作业完成并且发布/提交仍在进行中,则阶段仍保留在最后一次扫描(批处理阶段 7)。 有关详细信息,请参阅 sys.dm_change_feed_log_scan_sessions 中的 batch_processing_phase。 不适用于快照。
entry_time datetime 记录错误的日期和时间。 此值对应于 SQL 错误日志中的时间戳。 在 SQL Server 中,此时间以当地时间报告。 在 Azure SQL 数据库中,时区为 UTC。
error_number int 错误消息的 ID。
error_severity int 消息的严重级别,在 1 到 25 之间。
error_state int 错误的状态号。
error_message nvarchar(1024) 错误的消息正文。
batch_start_lsn nvarchar(23) 发生错误时正在处理的行的起始 LSN 值。

0 = 日志扫描会话中未发生错误。
batch_end_lsn nvarchar(23) 发生错误时正在处理的行的结束 LSN 值。

0 = 日志扫描会话中未发生错误。
tran_begin_lsn nvarchar(23) 失败交易的 Begin_lsn。 将为 NULL(对于快照错误)。
tran_commit_lsn nvarchar(23) 为发生故障的更改数据行集中的更改行提交 LSN。 将为 NULL(对于快照错误)。
sequence_value nvarchar(23) 发生错误时正在处理的行的 LSN 值。

0 = 日志扫描会话中未发生错误。
command_id int 未能发布的更改行中的命令 ID。 将为 NULL(对于快照错误)。

注解

此 DMV 显示过去 32 个会话中的错误。 一个会话可能包括多个错误,例如尝试登陆区域失败。 此 DMV 还会显示快照和增量更改发布过程中遇到的错误。

权限

需要 VIEW DATABASE STATE 或 VIEW DATABASE PERFORMANCE STATE 权限才能查询 sys.dm_change_feed_errors 动态管理视图。 有关动态管理视图权限的详细信息,请参阅动态管理视图和函数

在 Fabric SQL 数据库中,必须向数据库中的用户授予 VIEW DATABASE STATE 才能查询此 DMV。 或者,Fabric 工作区可以查询此 DMV 的任何角色的成员。

示例

用于 sys.dm_change_feed_errors 检查任何最近的错误。

SELECT * 
FROM sys.dm_change_feed_errors 
ORDER BY entry_time DESC;