我已经在我的SQL server 2008数据库中的几个表上启用了CDC。我想改变我可以保留更改历史的天数。
我读到,默认情况下,变更日志在被sys.sp_cdc_cleanup_change_table存储程序删除之前会被保留3天。
有谁知道我怎样才能改变这个默认值,从而使我能够保留更长时间的日志。
![]() |
英俊的桔子 · 启用和禁用“变更数据捕获” - SQL ...· 2 周前 · |
![]() |
小眼睛的大葱 · 在 SQL Server ...· 2 周前 · |
![]() |
狂野的白开水 · 禁止华为系统更新/禁止EMUI系统更新 - 知乎· 2 年前 · |
![]() |
高大的楼房 · Spring ...· 2 年前 · |
![]() |
谦虚好学的烤红薯 · 如何克服HTMLUnit ...· 2 年前 · |
![]() |
豁达的企鹅 · sql日期小于某个日期-掘金· 2 年前 · |
![]() |
有情有义的啄木鸟 · MS Access DB 前端 SQL ...· 2 年前 · |
你需要为你的数据库更新 cdc_jobs.retention 字段。在至少有一个表为 CDC 启用之前,cdc_jobs 表中的记录不会存在。
-- modify msdb.dbo.cdc_jobs.retention value (in minutes) to be the length of time to keep change-tracked data update [retention] = 3679200 -- 7 years sys.databases d inner join msdb.dbo.cdc_jobs j on j.database_id = d.database_id and j.job_type = 'cleanup' and d.name = '<Database Name, sysname, DatabaseName>';
用你的数据库名称替换
。<Database Name, sysname, DatabaseName>