Deaktivieren von Change Data Capture

In diesem Thema wird das Deaktivieren von Change Data Capture für eine Datenbank und eine Tabelle beschrieben.

Deaktivieren von Change Data Capture für eine Datenbank

Ein Mitglied der festen Serverrolle sysadmin kann die gespeicherte Prozedur sys.sp_cdc_disable_db (Transact-SQL) im Datenbankkontext ausführen, um Change Data Capture für eine Datenbank zu deaktivieren. Es ist nicht notwendig, einzelne Tabellen zu deaktivieren, bevor Sie die Datenbank deaktivieren. Durch das Deaktivieren der Datenbank werden alle mit ihr verbundenen Change Data Capture-Metadaten entfernt, einschließlich des cdc-Benutzers und -Schemas und der Change Data Capture-Aufträge. Durch Change Data Capture erstellte Gatingrollen werden jedoch nicht automatisch entfernt und müssen explizit gelöscht werden. Um zu bestimmen, ob die Datenbank aktiviert ist, fragen Sie die is_cdc_enabled-Spalte in der sys.databases-Katalogsicht ab.

Wenn eine Datenbank, für die Change Data Capture aktiviert ist, gelöscht wird, werden Change Data Capture-Aufträge automatisch entfernt.

Ein Beispiel für das Deaktivieren einer Datenbank finden Sie in der Vorlage „Datenbank für Change Data Capture deaktivieren“.

Wichtiger HinweisWichtig

Um die Vorlagen in SQL Server Management Studio zu suchen, rufen Sie Ansicht auf, klicken Sie auf Vorlagen-Explorer, und klicken Sie dann auf SQL Server-Vorlagen. Change Data Capture ist ein Unterordner, in dem Sie alle Vorlagen finden, auf die in diesem Thema verwiesen wird. Es gibt auch ein Vorlagen-Explorer-Symbol auf der SQL Server Management Studio-Symbolleiste.

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

-- Vorlage Deaktivieren einer Datenbank für Change Data Capture

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

USE MyDB
GO

EXEC sys.sp_cdc_disable_db
GO

Deaktivieren von Change Data Capture für eine Tabelle

Mitglieder der festen Datenbankrolle db_owner können eine Aufzeichnungsinstanz für einzelne Quelltabellen mithilfe der gespeicherten Prozedur sys.sp_cdc_disable_table entfernen. Um zu bestimmen, ob eine Quelltabelle zurzeit für Change Data Capture aktiviert ist, überprüfen Sie die is_tracked_by_cdc-Spalte in dersys.tables-Katalogsicht. Wenn nach dem Deaktivieren keine Tabelle für die Datenbank aktiviert sind, werden die Change Data Capture-Aufträge ebenfalls entfernt.

Wenn eine Tabelle, für die Change Data Capture aktiviert ist, gelöscht wird, werden Change Data Capture-Metadaten, die mit der Tabelle verbunden sind, automatisch entfernt.

Ein Beispiel für das Deaktivieren einer Tabelle finden Sie in der Vorlage „Eine Aufzeichnungsinstanz für eine Tabelle deaktivieren“.

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

-- Vorlage Eine Aufzeichnungsinstanz für eine Tabelle deaktivieren

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

USE MyDB
GO

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