sys.dm_change_feed_errors (Transact-SQL)
适用于:Microsoft Fabric 中 Microsoft Fabric SQL 数据库中的 Azure Synapse Analytics Warehouse Azure SQL 数据库 SQL Server 2022 (16.x)
从更改源、快照或增量更改发布进程返回最近的错误
此动态管理视图用于:
- 适用于 SQL Server 实例和Azure SQL 数据库的 Azure Synapse Link 功能。 有关详细信息,请参阅管理适用于 SQL Server 和 Azure SQL 数据库的 Azure Synapse Link。
- 用于Azure SQL 数据库的 Fabric 镜像数据库功能。 有关详细信息,请参阅 Microsoft Fabric 镜像数据库。
- Microsoft Fabric 中的 SQL 数据库。 有关详细信息,请参阅 Microsoft Fabric 中的 SQL 数据库。
列名称 | 数据类型 | 描述 |
---|---|---|
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;