sys.fn_cdc_is_bit_set(Transact-SQL)

적용 대상:SQL Server

캡처된 열의 서수 위치가 제공된 비트 마스크 내에 설정되어 있는지를 확인하여 해당 열이 업데이트되었는지 여부를 나타냅니다.

Transact-SQL 구문 표기 규칙

구문

  
sys.fn_cdc_is_bit_set ( position , update_mask )  

인수

위치
확인할 마스크의 서수 위치입니다. 위치가 int입니다.

update_mask
업데이트된 열을 식별하는 마스크입니다. update_mask varbinary(128)입니다.

반환 형식

bit

설명

이 함수는 일반적으로 열이 변경되었는지 여부를 나타내기 위해 변경 데이터 쿼리의 일부로 사용됩니다. 이 시나리오 에서는 필요한 열 서수 가져오기 위해 쿼리 앞에 함수 sys.fn_cdc_get_column_ordinal 사용됩니다. 그런 다음 반환되는 변경 데이터의 각 행에 sys.fn_cdc_is_bit_set 적용되어 반환된 결과 집합의 일부로 열별 정보를 제공합니다.

반환된 결과 집합의 모든 행에 대해 열이 변경되었는지 여부를 결정할 때 함수 sys.fn_cdc_has_column_changed 대신 이 함수를 사용하는 것이 좋습니다.

사용 권한

public 역할의 멤버 자격이 필요합니다.

다음 예제에서는 sys.fn_cdc_is_bit_set 사전 계산 열 서수 및 __$update_mask 값을 호출에 대한 인수로 사용하여 쿼리 함수 cdc.fn_cdc_get_all_changes_HR_Department 에 의해 생성된 결과 집합 앞에 열 'IsGroupNmUpdated'을 추가합니다.

USE AdventureWorks2022;  
GO  
DECLARE @from_lsn binary(10), @to_lsn binary(10), @GroupNm_ordinal int;  
SET @from_lsn = sys.fn_cdc_get_min_lsn('HR_Department');  
SET @to_lsn = sys.fn_cdc_get_max_lsn();  
SET @GroupNm_ordinal = sys.fn_cdc_get_column_ordinal('HR_Department','GroupName');  
  
SELECT sys.fn_cdc_is_bit_set(@GroupNm_ordinal,__$update_mask) as 'IsGroupNmUpdated', *  
FROM cdc.fn_cdc_get_all_changes_HR_Department( @from_lsn, @to_lsn, 'all')  
WHERE __$operation = 4;  
GO  

참고 항목

데이터 캡처 함수 변경(Transact-SQL)
sys.fn_cdc_get_column_ordinal(Transact-SQL)
sys.fn_cdc_has_column_changed(Transact-SQL)
<cdc.fn_cdc_get_all_changes_capture_instance>(Transact-SQL)
<cdc.fn_cdc_get_net_changes_capture_instance>(Transact-SQL)
변경 데이터 캡처 정보(SQL Server)