Désactivation de la capture des données modifiées

Cette rubrique décrit la désactivation de la capture de données modifiées pour une base de données et une table.

Désactivation de la capture des données modifiées pour une base de données

Un membre du rôle serveur fixe sysadmin peut exécuter la procédure stockée sys.sp_cdc_disable_db (Transact-SQL) dans le contexte de la base de données pour désactiver la capture des données modifiées pour une base de données. Il n'est pas nécessaire de désactiver individuellement les tables avant de désactiver la base de données. La désactivation de la base de données supprime toutes les métadonnées de capture de données modifiées associées, y compris l'utilisateur et le schéma cdc, ainsi que les travaux de capture de données modifiées. Toutefois, tous les rôles de régulation créés par capture de données modifiées ne seront pas supprimés automatiquement et doivent être supprimés explicitement. Pour déterminer si une base de données est activée, interrogez la colonne is_cdc_enabled dans l'affichage catalogue sys.databases.

Si une base de données sur laquelle la capture de données modifiées est activée est supprimée, les travaux de capture de données modifiées sont également et automatiquement supprimés.

Pour un exemple de désactivation d'une base de données, consultez le modèle Désactiver la base de données pour la capture de données modifiées.

Important

Pour repérer les modèles dans SQL Server Management Studio, allez dans Afficher, cliquez sur Explorateur de modèles, puis sur Modèles SQL Server. Capture de données modifiées est un sous-dossier où vous trouverez tous les modèles qui sont référencés dans cette rubrique. On trouve également une icône Explorateur de modèles dans la barre d'outils SQL Server Management Studio.

-- =================================

-- Désactiver la base de données pour la capture de données modifiées, modèle

-- =================================

USE MyDB
GO

EXEC sys.sp_cdc_disable_db
GO

Désactivation de la capture des données modifiées pour une table

Les membres du rôle de base de données fixe db_owner peuvent supprimer une instance de capture pour les tables sources individuelles à l'aide de la procédure stockée sys.sp_cdc_disable_table. Pour déterminer si une table source est actuellement activée pour la capture des données modifiées, examinez la colonne is_tracked_by_cdc dans l'affichage catalogue sys.tables. S'il n'y a pas de tables activées pour la base de données après la désactivation, les travaux de capture de données modifiées sont également supprimés.

Si une table pour laquelle la capture de données modifiées est activée est supprimée, les métadonnées de capture de données modifiées associées à la table sont automatiquement supprimées.

Pour un exemple de désactivation de table, consultez le modèle Désactiver une instance de capture pour une table.

-- ===============================================

-- Désactiver une instance de capture pour une table, modèle

-- ===============================================

USE MyDB
GO

EXEC sys.sp_cdc_disable_table
@source_schema = N'dbo',
@source_name   = N'MyTable',
@capture_instance = N'dbo_MyTable'
GO