Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment désactiver la capture de données modifiées (CDC) sur une base de données dans SQL Server - Tutoriel SQL Server

Scénario :

Vous travaillez en tant que DBA ou développeur SQL Server, vous devez écrire un script qui doit accepter le nom de la base de données, puis désactiver la capture de données modifiées (CDC) sur cette base de données.
Le script ci-dessous peut être utilisé pour désactiver la capture de données modifiées sur un base de données. Vous devez définir la valeur de la variable @DBName sur la base de données sur laquelle vous souhaitez désactiver la capture de données modifiées.

/*--------------------------------
1: Disable CDC ON Database
----------------------------------*/
DECLARE @DBName NVARCHAR(100)
DECLARE @Cdc_Status BIT
 --> Provide your Database Name on which you want to Disable CDC
SET @DBName='TESTDB'
SET @Cdc_Status=(SELECT is_cdc_enabled
                 FROM   sys.databases
                 WHERE  name = @DBName)
IF @Cdc_Status = 0
  PRINT ' CDC is already disabled on Database:: '
        + @DBName
IF @Cdc_Status = 1
  BEGIN
      DECLARE @SQL NVARCHAR(500)

      SET @SQL=@DBName + '.sys.Sp_cdc_disable_db'

      EXEC (@SQL)

      PRINT ' CDC Disabled on ' + @DBName
            + ' successfully'
  END