共用方式為


sys.fn_cdc_has_column_changed (Transact-SQL)

識別指定的更新遮罩是否表示指定的資料行已經在相關聯的變更資料列中更新。

主題連結圖示 Transact-SQL 語法慣例

語法

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_ordinalsys.fn_cdc_is_bit_set 函數來取代這個函數。 請在查詢變更資料之前使用 fn_cdc_get_column_ordinal 函數,以便僅計算一次所需的資料行序數。 您可以在查詢中使用 fn_cdc_is_bit_set,以便針對每個傳回的資料列從更新遮罩中擷取資訊。

權限

需要 sysadmin 固定伺服器角色或 db_owner 固定資料庫角色中的成員資格。 若為所有其他使用者,則需要來源資料表中所有擷取資料行的 SELECT 權限,而且如果定義了擷取執行個體的控制角色,便需要該資料庫角色的成員資格。

請參閱

參考

cdc.<capture_instance>_CT (Transact-SQL)

cdc.captured_columns (Transact-SQL)