sql >> Databáze >  >> RDS >> Sqlserver

Jak upravit dobu uchování změn dat Capture (CDC) v SQL Server - SQL Server výukový program

Scénář:

Pracujete jako SQL Server DBA nebo vývojář, právě jste povolili Change Data Capture na jedné z databází. Výchozí doba uchování je 3 dny. Chcete změnit dobu uchování na 1000 dní. Jak byste to udělali?

Řešení:

Níže uvedený skript lze použít ke změně doby uchování pro Change Data Capture (CDC) v databázi 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'


  1. Jak zkontrolovat, zda kurzor vrací nějaké záznamy v oracle?

  2. Vícenásobné indexy vs vícesloupcové indexy

  3. Jak zadat znak nového řádku v Oracle?

  4. Detekce přírůstkových změn databáze (Oracle až MongoDB ETL)