cdc.change_tables (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例
为数据库中的每个更改表返回一行。 对源表启用变更数据捕获时,将创建一个更改表。 建议不要直接查询系统表。 请改为执行 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 (10.0.x),此列始终返回 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。 |