Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL CDC保留时间(清理作业)工作不正常_Sql_Sql Server_Cdc_Retention - Fatal编程技术网

SQL CDC保留时间(清理作业)工作不正常

SQL CDC保留时间(清理作业)工作不正常,sql,sql-server,cdc,retention,Sql,Sql Server,Cdc,Retention,我似乎无法使SQL CDC清理作业的保留时间正常工作。我到处寻找我的答案,但直到现在才找到解决办法 我做了以下事情: -在数据库上激活CDC EXEC sys.sp_cdc_enable_db; 激活CDC表 EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'Person',

我似乎无法使SQL CDC清理作业的保留时间正常工作。我到处寻找我的答案,但直到现在才找到解决办法

我做了以下事情: -在数据库上激活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表在间隙中被清理。我在网上找不到任何其他方法可以做到这一点。我的清理工作仍然没有清空激活CDC的CDC表

值得一提的是,我之前在这个数据库上激活/停用了CDC,也许这与清理工作不能正常工作有关

感谢您的帮助


BR

该作业的日志中是否有任何内容?@BenThul Nope,在SQL作业“cdc.DB_cleanup”中没有历史记录,只有我手动启动它的条目,以查看它是否清理了cdc表。