我已经在我的SQL server 2008数据库中的几个表上启用了CDC。我想改变我可以保留更改历史的天数。
我读到,默认情况下,变更日志在被sys.sp_cdc_cleanup_change_table存储程序删除之前会被保留3天。
有谁知道我怎样才能改变这个默认值,从而使我能够保留更长时间的日志。
![]() |
痴情的橙子 · C# Windows窗体获取(遍历)的实现 ...· 10 月前 · |
![]() |
绅士的松鼠 · 如何修改response的header和bo ...· 1 年前 · |
![]() |
帅气的领带 · [译] 使用 Shadow DOM ...· 1 年前 · |
![]() |
近视的针织衫 · ChatGPT 错误代码 1020 - ...· 1 年前 · |
你需要为你的数据库更新 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>