共用方式為


安全性模型

此章節描述異動資料擷取安全性模型。

組態和管理

若要針對資料庫啟用或停用異動資料擷取,sys.sp_cdc_enable_db (Transact-SQL)sys.sp_cdc_disable_db (Transact-SQL) 的呼叫端必須是固定伺服器系統管理員 (sysadmin) 角色的成員。在資料表層級啟用和停用異動資料擷取會要求 sys.sp_cdc_enable_table (Transact-SQL)sys.sp_cdc_disable_table (Transact-SQL) 的呼叫端必須是系統管理員 (sysadmin) 角色的成員或 db_owner 資料庫角色的成員。

為了支援安全性模型,當您啟用異動資料擷取時,系統就會在資料庫中建立特殊異動資料擷取使用者和異動資料擷取資料庫使用者所擁有的異動資料擷取結構描述。不在資源資料庫中的所有異動資料擷取物件都會建立在這個結構描述中,而且由異動資料擷取使用者所擁有。這包括在資料表啟用異動資料擷取時建立的任何控制角色。

只有伺服器 sysadmin 角色的成員和 database db_owner 角色的成員才能使用這些預存程序來支援異動資料擷取作業的管理。

變更列舉和中繼資料查詢

若要存取與擷取執行個體相關聯的變更資料,使用者必須被授與相關聯來源資料表之所有擷取資料行的選取存取權。此外,如果建立擷取執行個體時指定了控制角色,呼叫端也必須是指定之控制角色的成員。雖然傳回中繼資料的存取權通常也會使用基礎來源資料表的選取存取權控制,以及任何已定義之控制角色的成員資格控制,但是所有資料庫使用者都可以透過 Public 角色存取用以存取中繼資料的其他一般異動資料擷取函數。

啟用異動資料擷取之來源資料表的 DDL 作業

當某份資料表啟用異動資料擷取時,只有固定伺服器角色 sysadmin 的成員、database role db_owner 的成員或 database role db_ddladmin 的成員能夠將 DDL 作業套用至此資料表。如果擁有針對資料表執行 DDL 作業之明確授與權限的使用者嘗試執行這些作業,就會收到錯誤 22914。