我似乎无法在SQL CDC清理作业上保留时间。我到处寻找我的答案,但直到现在才找到解决方案。
我做了以下事情: - 在DB上激活CDC
EXEC sys.sp_cdc_enable_db;
激活CDC表
EXEC sys.sp_cdc_enable_table @source_schema = N'dbo',
@source_name = N'Person',
@capture_instance = NULL,
@supports_net_changes = 1,
@role_name = NULL,
@index_name = NULL,
@captured_column_list = NULL,
@filegroup_name = NULL;
然后我用:
检查了我的工作EXEC sys.sp_cdc_help_jobs;
并将清理作业保留更改为2:
EXEC sys.sp_cdc_change_job @job_type = N'cleanup', -- nvarchar(20)
@retention = 2; -- bigint
据我所知,这应该可以控制清理CDC表的intervall的分钟数。我无法在网上找到其他方式如何做到这一点。我的清理工作仍然没有清空我激活cdc的CDC表。
有一点值得一提的是,我之前在此数据库上激活/停用了CDC,这可能与清理作业无法正常工作有关吗?
感谢任何帮助。
BR