परिदृश्य:
आप SQL सर्वर DBA या डेवलपर के रूप में काम कर रहे हैं, आपने अभी-अभी डेटाबेस में से किसी एक पर डेटा कैप्चर बदलें सक्षम किया है। डिफ़ॉल्ट अवधारण अवधि 3 दिन है। आप अवधारण अवधि को 1000 दिनों में बदलना चाहेंगे। आप यह कैसे करेंगे?
समाधान:
SQL सर्वर डेटाबेस में चेंज डेटा कैप्चर (सीडीसी) के लिए अवधारण अवधि को बदलने के लिए नीचे दी गई स्क्रिप्ट का उपयोग किया जा सकता है।
/*---------------------------------------
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'