1、先开启库级cdc(关闭库级cdc之前未关闭表级cdc时):1、先开启库级cdc(关闭库级cdc之前未关闭表级cdc时):

USE 库名
GO
EXECUTE sys.sp_cdc_enable_db;
GO

2、查询指定schema名下的所有关闭表级cdc的批量sql:

USE 库名
GO
SELECT ‘EXEC sys.sp_cdc_disable_table @source_schema = N’’dbo’’, @source_name = N’’’+name+’’’,@capture_instance = N’’all’’; ‘
FROM sys.tables where schema_id=SCHEMA_ID(‘schema名’);

3、拷贝生成的批量语句,并执行

USE 库名
GO
执行生成的批量语句

4、最后关闭库级cdc:

USE 库名
GO
EXEC sys.sp_cdc_disable_db
GO

注:库级cdc关闭后,无法再关闭表级cdc,关闭库级cdc之前未关闭表级cdc,使用WRITETEXT和UPDATETEXT功能还会报错:
消息7138,级别16,状态1,第5 行
因为正在用Data Transformation Services (DTS)复制该列,或变更数据捕获正在跟踪该列,所以不允许使用WRITETEXT 语句。

文档更新时间: 2022-02-26 20:18   作者:操李红