sys.sp_cdc_disable_db (Transact-SQL)
适用范围:SQL Server
禁用当前数据库的更改数据捕获(CDC)。 更改数据捕获在 SQL Server 的每个版本中都不可用。 有关 SQL Server 各个版次支持的功能列表,请参阅 SQL Server 2022 的各个版次及其支持的功能。
语法
sys.sp_cdc_disable_db
[ ; ]
返回代码值
0
(成功)或 1
(失败)。
结果集
无。
注解
sys.sp_cdc_disable_db
为当前启用的数据库中的所有表禁用更改数据捕获。 与变更数据捕获相关的所有系统对象(如更改表、作业、存储过程和函数)都将被删除。 is_cdc_enabled
sys.databases 目录视图中数据库条目的列设置为 0
。
如果在禁用更改数据捕获时为数据库定义了许多捕获实例,则长时间运行的事务可能会导致执行 sys.sp_cdc_disable_db
失败。 在运行sys.sp_cdc_disable_db
之前,可以通过禁用单个捕获实例sys.sp_cdc_disable_table
来避免此问题。
权限
需要 sysadmin 固定服务器角色的成员身份,以便在 Azure SQL 托管实例 或 SQL Server 上捕获更改数据。 需要Azure SQL 数据库上变更数据捕获db_owner的成员身份。
示例
下例对 AdventureWorks2022
数据库禁用变更数据捕获。
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_disable_db;
GO