?
?
-- 查看捕获作业或清除作业的信息 -- SELECT * FROM msdb.dbo.sysjobs SELECT * FROM msdb.dbo.cdc_jobs EXEC sys.sp_cdc_help_jobs
?
对作业的更改 (参考 sys.sp_cdc_change_job)
?
--对作业的更改 EXEC sys.sp_cdc_change_job @job_type = 'capture' ,@maxtrans = 1000 --每个扫描循环可以处理的最多事务数 ,@maxscans = 10 --为了从日志中提取所有行而要执行的最大扫描循环次数 ,@continuous = 1 --连续运行最多处理(max_trans * max_scans) 个事务 ,@pollinginterval = 5 EXEC sys.sp_cdc_change_job @job_type = 'cleanup' ,@retention = 4320 --更改行将在更改表中保留的分钟数 ,@threshold = 5000 --清除时可以使用一条语句删除的删除项的最大数量 --更改后需重启作业 EXEC sys.sp_cdc_stop_job @job_type = N'capture'; EXEC sys.sp_cdc_stop_job @job_type = N'capture'; EXEC sys.sp_cdc_start_job @job_type = N'cleanup'; EXEC sys.sp_cdc_start_job @job_type = N'cleanup';
最后一项,禁用(删除)变更数据捕获:
?
?
-- 对表禁用变更数据捕获 USE MyDatabase; GO EXEC sys.sp_cdc_disable_table @source_schema = N'dbo', @source_name = N'CDC_Test', @capture_instance = N'dbo_CDC_Test' GO -- 对数据库禁用变更数据捕获 USE MyDatabase; GO EXECUTE sys.sp_cdc_disable_db; GO --执行完成后,相关的表、函数、用户、角色、架构、作业都会完全删除!