cdc.change_tables (Transact-SQL)

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

列名

数据类型

说明

object_id

int

更改表的 ID。 在数据库中是唯一的。

version

int

标识为仅供参考。不提供支持。不保证以后的兼容性。

对于 SQL Server 2012,此列始终返回 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 TABLE 的 SWITCH PARTITION 命令。 0 指示分区切换被阻止。 未分区表始终返回 1。

请参阅

参考

sys.sp_cdc_help_change_data_capture (Transact-SQL)