sql >> データベース >  >> RDS >> Sqlserver

SQL Serverで変更データキャプチャ(CDC)の保持期間を変更する方法-SQLServerチュートリアル

    シナリオ:

    SQL Server DBAまたは開発者として作業しており、データベースの1つで変更データキャプチャを有効にしました。デフォルトの保存期間は3日です。保存期間を1000日に変更したい。どのようにそれをしますか?

    解決策:

    以下のスクリプトを使用して、SQLServerデータベースのChangeData Capture(CDC)の保持期間を変更できます。
    /*---------------------------------------
    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. 'dateAdded'のデフォルト値が無効です

    2. mySQLのSQLServer関数SCOPE_IDENTITY()に相当しますか?

    3. SQLite JSON_GROUP_ARRAY()

    4. MS SQL Server 2008のポートを見つける方法は?