通过查询检查SQL Server中的数据库和表是否启用了CDC

gpa*_*oli 3 t-sql sql-server cdc

如何通过运行 SQL 查询来检查 SQL Server 中的特定数据库和表是否启用了 CDC?

use*_*983 7

来自sys.sp_cdc_enable_db (Transact-SQL)文档的备注部分:

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

select
  name,
  is_cdc_enabled
from sys.databases;
Run Code Online (Sandbox Code Playgroud)

来自sys.sp_cdc_enable_table (Transact-SQL)的文档,也在备注部分:

sys.sp_cdc_enable_table如果源表是数据库中第一个启用更改数据捕获的表并且该数据库不存在事务发布,还会为数据库创建捕获和清理作业。它将目录视图is_tracked_by_cdc中的列设置为。sys.tables1

select
  name,
  is_tracked_by_cdc 
from sys.tables;
Run Code Online (Sandbox Code Playgroud)