Cdc 和日志保存多长时间

Cdc and how long are logs kept

我开始在Microsoft SQL Server 2016上使用SQL捕获数据变化表,它看起来相当容易使用的机制,但现在当我使用一些教程时我发现并没有信息关于数据保存在这些表中的时间有限,我认为默认是 3 天。

我试图找到一些关于它的信息,但没有成功,所以我的问题是:

有没有办法增加日志的保留时间甚至关闭它。

您要查找的是Retention Period,默认确实是3天。

您可以使用 sys.sp_cdc_change_job

更改它
USE [YourDatabase];

EXECUTE sys.sp_cdc_change_job 
    @job_type = N'cleanup',
    @retention = 2880;

[ @retention ] =retention Number of minutes that change rows are to be retained in change tables. retention is bigint with a default of NULL, which indicates no change for this parameter. The maximum value is 52494800 (100 years). If specified, the value must be a positive integer. retention is valid only for cleanup jobs.

请注意,这会影响数据库中所有标记为由 CDC 跟踪的 table,无法根据 table.

配置它

https://msdn.microsoft.com/en-us/library/bb510748(v=sql.105).aspx