sys.fn_cdc_has_column_changed (Transact-SQL)
適用於:SQL Server
識別指定的更新遮罩是否表示指定的數據行已在相關聯的變更數據列中更新。
語法
sys.fn_cdc_has_column_changed ( 'capture_instance','column_name' , update_mask )
引數
' capture_instance '
這是擷取實例的名稱。 capture_instance為 sysname。
' column_name '
這是要報告之指定擷取實例的擷取數據行。column_name為 sysname。
update_mask
這是識別任何相關聯變更數據列中已更新數據行的遮罩。 update_mask是 varbinary(128) 。
傳回類型
bit
備註
您可以使用此函式,從查詢中傳回的變更數據更新遮罩擷取資訊。 當您需要知道關聯變更數據列中的特定數據行是否已修改時,在處理后處理更新遮罩時最有用。 如需詳細資訊,請參閱關於異動資料擷取 (SQL Server)。
當這項資訊在變更數據查詢中傳回時,建議您使用 函式sys.fn_cdc_get_column_ordinal 和 sys.fn_cdc_is_bit_set ,而不是此函式。 在查詢變更數據之前,請使用 函式fn_cdc_get_column_ordinal,以便只計算所需的數據行序數一次。 使用查詢內的fn_cdc_is_bit_set,從每個傳回數據列的更新遮罩擷取資訊。
權限
需要系統管理員固定伺服器角色的成員資格,或db_owner固定資料庫角色的成員資格。 對於所有其他使用者,需要源數據表中所有擷取數據行的SELECT許可權,如果已定義擷取實例的管制角色,該資料庫角色的成員資格。
另請參閱
cdc。<>capture_instance_CT (Transact-SQL)
cdc.captured_columns (Transact-SQL)