sql >> Databasteknik >  >> RDS >> Sqlserver

Så här ändrar du lagringsperiod för ändring av datainsamling (CDC) i SQL Server - självstudiekurs för SQL Server

Scenario :

Du arbetar som SQL Server DBA eller utvecklare, du har precis aktiverat Change Data Capture på en av databaserna. Standardlagringsperioden är 3 dagar. Du vill ändra lagringsperioden till 1000 dagar. Hur skulle du göra det?

Lösning:

Skriptet nedan kan användas för att ändra lagringsperioden för Change Data Capture (CDC) i SQL Server-databasen.
/*---------------------------------------
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. Undvik detta vanliga fel när du kör lagrad procedur i MS Access

  2. MySQL offset oändliga rader

  3. Hur bygger man en kolvapplikation runt en redan befintlig databas?

  4. Hur man lagrar videoinnehåll i SQLite-databasen (inte videosökvägen)