停用異動資料擷取
此主題描述如何針對資料庫和資料表停用異動資料擷取。
針對資料庫停用異動資料擷取
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