You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SQL查询检查SQL Server中数据库及表的CDC启用状态

检查SQL Server中数据库与表的CDC启用状态

1. 验证指定数据库的CDC是否启用

要确认某个数据库是否开启了CDC,直接查询sys.databases系统视图的is_cdc_enabled字段即可,把下面的YourDatabaseName替换为目标数据库名:

SELECT 
    name AS 数据库名称,
    is_cdc_enabled AS CDC启用状态
FROM sys.databases
WHERE name = 'YourDatabaseName';
  • 结果中CDC启用状态为1代表CDC已开启,0则表示未启用。

2. 检查数据库内表的CDC启用状态

快速查看所有表的CDC状态

先切换到目标数据库,再查询sys.tables视图的is_tracked_by_cdc字段:

USE YourDatabaseName;
GO
SELECT 
    name AS 表名称,
    is_tracked_by_cdc AS CDC启用状态
FROM sys.tables;
-- 若只想查看已启用CDC的表,添加 WHERE is_tracked_by_cdc = 1 即可
  • CDC启用状态为1说明该表的CDC已开启,0则未启用。

查看CDC的详细配置信息

如果需要获取更细致的CDC配置(比如捕获的列、同步规则等),可以调用系统存储过程sys.sp_cdc_help_change_data_capture:

USE YourDatabaseName;
GO
EXEC sys.sp_cdc_help_change_data_capture;
  • 若返回空结果,说明当前数据库中没有表启用CDC;有结果时,每一行对应一个已开启CDC的表,包含捕获实例名、源表名、捕获列等细节信息。

内容的提问来源于stack exchange,提问作者George Paoli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:48:30