sys.sp_cdc_disable_db (Transact-SQL)

适用于SQL Server

禁用当前数据库的更改数据捕获(CDC)。 更改数据捕获在 SQL Server 的每个版本中都不可用。 有关 SQL Server 各个版次支持的功能列表,请参阅 SQL Server 2022 的各个版次及其支持的功能

Transact-SQL 语法约定

语法

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