Tình huống:
Bạn đang làm việc với tư cách là nhà phát triển hoặc DBA SQL Server, bạn vừa bật Thay đổi tính năng thu thập dữ liệu trên một trong các cơ sở dữ liệu. Khoảng thời gian lưu giữ mặc định là 3 ngày. Bạn muốn thay đổi khoảng thời gian lưu giữ thành 1000 ngày. Bạn sẽ làm điều đó như thế nào?Giải pháp:
Tập lệnh dưới đây có thể được sử dụng để thay đổi khoảng thời gian lưu giữ cho Change Data Capture (CDC) trong cơ sở dữ liệu SQL Server./*--------------------------------------- Change CDC Retention Period The retention is provide in minutes , If we are providing in Days then we
have to convert that to minutes. -----------------------------------------*/
USE [DatabaseName]
GO
DECLARE @Retention_IN_DAYS INT DECLARE @Retention_IN_Minutes INT SET @Retention_IN_DAYS=10--> Provide the Retention period in days here
SET @Retention_IN_Minutes=@Retention_IN_DAYS * 24 * 60 --Print Current Retention Period
SELECT retention / 60 / 24 AS [Retention_In_Days]
FROM msdb.dbo.cdc_jobs
WHERE job_type = 'cleanup' --SET Retention to Required Days
EXECUTE sys.sp_cdc_change_job N'cleanup', @retention = @Retention_IN_Minutes --Check if Retention is Set for Given Days
SELECT retention / 60 / 24 AS [Retention_In_Days]
FROM msdb.dbo.cdc_jobs
WHERE job_type = 'cleanup'