sys.sp_cdc_enable_db (Transact-SQL)

适用范围:SQL Server

对当前数据库启用变更数据捕获。 必须先对数据库执行此过程,然后才能在该数据库中为更改数据捕获(CDC)启用任何表。 变更数据捕获可记录应用到所启用的表中的插入、更新和删除活动,同时采用易于使用的关系格式提供变更详细信息。 此操作将为已修改的行捕获反映了所跟踪源表列结构的列信息,同时还捕获将更改应用到目标环境所需的元数据。

重要

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

Transact-SQL 语法约定

语法

sys.sp_cdc_enable_db
[ ; ]

返回代码值

0(成功)或 1(失败)。

结果集

无。

注解

无法在系统数据库或分发数据库上启用变更数据捕获。

sys.sp_cdc_enable_db 创建具有数据库范围范围的更改数据捕获对象,包括元数据表和 DDL 触发器。 它还创建 CDC 架构和 CDC 数据库用户,并将 sys.databases 目录视图中的数据库条目的列设置为 is_cdc_enabled 1

权限

要求在 Azure SQL 托管实例 或 SQL Server 上为更改数据捕获提供 sysadmin 固定服务器角色的成员身份。 需要Azure SQL 数据库上变更数据捕获db_owner的成员身份。

示例

下面的示例启用了变更数据捕获。

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_enable_db;
GO