sys.dm_change_feed_log_scan_sessions (Transact-SQL)

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

从 SQL 更改源返回活动。

此动态管理视图用于:

列名称 数据类型 描述
session_id int 会话的 ID。

0 = 此行中返回的数据是自 SQL Server 实例上次启动以来所有会话的聚合。
start_time datetime 会话的开始时间。

session_id = 0 时,为聚合数据收集的开始时间。
end_time datetime 会话结束的时间。

NULL = 会话处于活动状态。
session_id = 0 时,为最后一个会话的结束时间。
duration int 会话的持续时间(以秒为单位)。

0 = 会话不包含变更数据捕获事务。

session_id = 0 时,为包含更改源事务的所有会话的持续时间之和(以秒为单位)。
batch_processing_phase nvarchar(200) 特定日志扫描会话中达到的扫描阶段。 下面是当前实现的阶段:
1:正在读取配置
2:第一次扫描,生成哈希表
3:第二次扫描
4:第二次扫描
5:第二次扫描
6:架构版本控制
7:上次扫描、发布和提交。
8 = 完成
error_count int 遇到的错误数。

session_id = 0 时,为所有会话中的错误总数。
batch_start_lsn nvarchar(23) 会话的起始 LSN。

session_id = 0 时,为最后一个会话的起始 LSN。
currently_processed_lsn nvarchar(23) 当前正在扫描的 LSN。

session_id = 0 时,当前 LSN 为 0。
batch_end_lsn nvarchar(23) 会话的结束 LSN。

NULL = 会话处于活动状态。

session_id = 0 时,为最后一个会话的结束 LSN。
tran_count bigint 已处理的变更数据捕获事务数。 此计数器在 batch_processing_phase 2 填充。

session_id = 0 时,为所有会话中已处理的事务数。
currently_processed_commit_lsn nvarchar(23) 已处理的最后一个提交日志记录的 LSN。

session_id = 0 时,为任意会话的最后一个提交日志记录 LSN。
currently_processed_commit_time datetime 最后一个提交日志记录的处理时间。

session_id = 0 时,为任意会话的最后一个提交日志记录的处理时间。
log_record_count bigint 扫描的日志记录数。

session_id = 0 时,为所有会话的扫描记录数。
schema_change_count int 检测到的数据定义语言 (DDL) 操作数。 此计数器在 batch_processing_phase 6 填充。

session_id = 0 时,为所有会话中已处理的 DDL 操作数。
command_count bigint 已处理的命令数。

session_id = 0 时,为所有会话中已处理的命令数。
latency int 会话中 end_timecurrently_processed_commit_time 之间的差(以秒为单位)。 此计数器在 batch_processing_phase 7 的最后填充。

session_id = 0 时,为某个会话记录的最后一个非零延迟值。
empty_scan_count int 不包含捕获的事务的连续会话数。
failed_sessions_count int 失败的会话数。

权限

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

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