sql >> Database >  >> RDS >> Sqlserver

Wijziging Data Capture (CDC)-retentieperiode wijzigen in SQL Server - SQL Server-zelfstudie

Scenario:

U werkt als SQL Server DBA of ontwikkelaar, u hebt zojuist Change Data Capture op een van de databases ingeschakeld. De standaard bewaartermijn is 3 dagen. U wilt de bewaartermijn wijzigen in 1000 dagen. Hoe zou je dat doen?

Oplossing:

Het onderstaande script kan worden gebruikt om de bewaarperiode voor Change Data Capture (CDC) in de SQL Server-database te wijzigen.
/*---------------------------------------
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'


  1. FOUT:niet-beëindigde tekenreeks tussen aanhalingstekens op of nabij

  2. Een getallentabel maken in MySQL

  3. Is er een MySQL-optie/-functie om de geschiedenis van wijzigingen in records bij te houden?

  4. TRUNC(datum) Functie in Oracle