sys.sp_cdc_disable_table (Transact-SQL)
对当前数据库中指定的源表和捕获实例禁用变更数据捕获。变更数据捕获仅在 SQL Server 2008 Enterprise Edition、Developer Edition 和 Evaluation Edition 中可用。
语法
sys.sp_cdc_disable_table
[ @source_schema = ] 'source_schema' ,
[ @source_name = ] 'source_name'
[ , [ @capture_instance = ] 'capture_instance' | 'all' ]
参数
[ [ @source_schema= ] 'source_schema'
源表所属的架构的名称。source_schema 的数据类型为 sysname,无默认值,并且不能为 NULL。source_schema 必须存在于当前数据库中。
[ [ @source_name= ] 'source_name'
要禁用其变更数据捕获的源表的名称。source_name 的数据类型为 sysname,无默认值,并且不能为 NULL。source_name 必须存在于当前数据库中。
[ @capture_instance= ] 'capture_instance' | 'all'
要对指定的源表禁用的捕获实例的名称。capture_instance 的数据类型为 sysname,并且不能为 NULL。如果指定“all”,则会禁用为 source_name 定义的所有捕获实例。
返回代码值
0(成功)或 1(失败)
结果集
无
注释
sys.sp_cdc_disable_table 删除与指定的源表和捕获实例相关联的变更数据捕获更改表和系统函数。它会删除任何与来自变更数据捕获系统表的指定捕获实例相关联的行,并将 sys.tables 目录视图中的表项的 is_tracked_by_cdc 列设置为 0。
权限
要求具有 db_owner 固定数据库角色的成员身份。
示例
下例对 HumanResources.Employee 表禁用了变更数据捕获。
USE AdventureWorks;
GO
EXECUTE sys.sp_cdc_disable_table
@source_schema = N'HumanResources',
@source_name = N'Employee',
@capture_instance = N'HumanResources_Employee';