sys.sp_cdc_disable_table (Transact-SQL)
适用范围:SQL Server
对当前数据库中指定的源表和捕获实例禁用变更数据捕获。 更改数据捕获在 SQL Server 的每个版本中都不可用。 有关 SQL Server 各个版次支持的功能列表,请参阅 SQL Server 2022 的各个版次及其支持的功能。
语法
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 AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_disable_table
@source_schema = N'HumanResources',
@source_name = N'Employee',
@capture_instance = N'HumanResources_Employee';