cdc.change_tables (Transact-SQL)

适用于:SQL Server (所有受支持的版本)

为数据库中的每个更改表返回一行。 对源表启用变更数据捕获时,将创建一个更改表。 我们建议您不要直接查询系统表, 请改为执行 sys.sp_cdc_help_change_data_capture 存储过程。

列名称 数据类型 说明
object_id int 更改表的 ID。 在数据库中是唯一的。
version int 标识为仅供参考。 不支持。 不保证以后的兼容性。

对于 SQL Server 2012 (11.x) ,此列始终返回 0。
source_object_id int 为变更数据捕获启用的源表的 ID。
capture_instance sysname 用于命名特定于实例的跟踪对象的捕获实例的名称。 默认情况下,名称派生自源架构名称,以及格式 为schemaname_sourcename的源表名称。
start_lsn binary(10) 日志序列号 (LSN),表示查询更改表中的更改数据时的低端点。

NULL = 尚未建立低端点。
end_lsn binary(10) 标识为仅供参考。 不支持。 不保证以后的兼容性。

对于 SQL Server 2008,此列始终返回 NULL。
supports_net_changes bit 对更改表启用了查询净更改支持。
has_drop_pending bit 捕获进程收到关于源表已被删除的通知。
role_name sysname 用于访问更改数据的数据库角色的名称。

NULL = 未使用角色。
index_name sysname 用于唯一标识源表中的行的索引名称。 index_name 是源表的主键索引的名称,或者是在源表上启用更改数据捕获时指定的唯一索引的名称。

NULL = 在变更数据捕获启用时,源表无主键,且未指定唯一索引。

注意:如果在存在主键的表上启用更改数据捕获,则更改数据捕获功能将使用索引,而不考虑是否启用净更改。 启用变更数据捕获之后,将不允许对主键进行修改。 如果该表没有主键,则仍可以启用变更数据捕获,但是只能将净更改设置为 False。 启用变更数据捕获之后,即可以创建主键。 由于变更数据捕获功能不使用主键,因此还可以修改主键。
filegroup_name sysname 更改表所驻留的文件组的名称。

NULL = 更改表在数据库的默认文件组中。
create_date datetime 启用源表的日期。
partition_switch bit 指示是否可以针对为更改数据捕获启用的表执行 ALTER TABLESWITCH PARTITION 命令。 0 指示分区切换被阻止。 未分区表始终返回 1。

另请参阅

sys.sp_cdc_help_change_data_capture (Transact-SQL)