sql server agent 需要提前开启
1. 查看库表是否启动 CDC
-- 查看数据库是否启用cdc
SELECT name,is_cdc_enabled FROM sys.databases WHERE is_cdc_enabled = 1;
-- 查看当前数据库表是否启用cdc
SELECT name,is_tracked_by_cdc FROM sys.tables WHERE is_tracked_by_cdc = 1;
复制代码
2. 数据库启用和禁用 CDC
-- 对当前数据库启用 CDC
USE mydb
GO
EXECUTE sys.sp_cdc_enable_db;
GO
-- 对当前数据库禁用 CDC
USE mydb
GO
EXEC sys.sp_cdc_disable_db
GO
复制代码
3. 数据库表启用和禁用 CDC
-- 启用
USE MyDB
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo',
@source_name = N'MyTable',
@role_name = NULL,
@supports_net_changes = 1
GO
-- 禁用
USE MyDB
GO
EXEC sys.sp_cdc_disable_table
@source_schema = N'dbo',
@source_name = N'MyTable',
@capture_instance = N'dbo_MyTable'
GO
复制代码
4. 查看表 CDC 功能是否启用
SELECT name ,
is_tracked_by_cdc ,
CASE WHEN is_tracked_by_cdc = 0 THEN 'CDC功能禁用'
ELSE 'CDC功能启用'
END 描述
FROM sys.tables;
复制代码
5.验证
cdc机制成功开启后,会自动创建库以及dbo_<table_name>_CT,开启CDC的数据表 一旦有操作,dbo_<table_name>_CT会增加一笔记录
作者:辉菇凉_FLY104431
链接:https://juejin.cn/post/6903795026002706445