共用方式為


停用異動資料擷取

此主題描述如何針對資料庫和資料表停用異動資料擷取。

針對資料庫停用異動資料擷取

sysadmin 固定伺服器角色的成員可以在資料庫內容中執行 sys.sp_cdc_disable_db (Transact-SQL) 預存程序,以便針對資料庫停用異動資料擷取。在您停用資料庫之前,不需要停用個別資料表。停用資料庫就會移除所有相關聯的異動資料擷取中繼資料,包括 cdc 使用者和結構描述以及異動資料擷取作業。不過,系統不會自動移除異動資料擷取所建立的任何控制角色,而且您必須明確刪除這些角色。若要判斷資料庫是否已啟用,請查詢 sys.databases 目錄檢視中的 is_cdc_enabled 資料行。

如果啟用異動資料擷取的資料庫已卸除,系統就會自動移除異動資料擷取作業。

如需停用資料庫的範例,請參閱「停用異動資料擷取的資料庫」範本。

重要事項重要事項

若要在 SQL Server Management Studio 中找出範本,請移至 [檢視]、按一下 [範本總管],然後按一下 [SQL Server 範本][異動資料擷取] 是子資料夾,而且您將會在其中找到這個主題所參考的所有範本。SQL Server Management Studio 工具列上也有一個 [範本總管] 圖示。

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

-- 停用異動資料擷取的資料庫範本

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

USE MyDB
GO

EXEC sys.sp_cdc_disable_db
GO

針對資料表停用異動資料擷取

db_owner 固定資料庫角色的成員可以使用 sys.sp_cdc_disable_table 預存程序,針對個別的來源資料表移除擷取執行個體。若要判斷目前是否已啟用異動資料擷取的來源資料表,請檢查 sys.tables 目錄檢視中的 is_tracked_by_cdc 資料行。如果進行停用之後,資料庫中沒有任何資料表啟用,系統也會移除異動資料擷取作業。

如果啟用異動資料擷取的資料表已卸除,系統就會自動移除與此資料表相關聯的異動資料擷取中繼資料。

如需停用資料表的範例,請參閱「停用資料表的擷取執行個體」範本。

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

-- 停用資料表的擷取執行個體範本

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

USE MyDB
GO

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