sys.fn_cdc_get_column_ordinal(Transact-SQL)
적용 대상: SQL Server
지정된 캡처 인스턴스와 연결된 변경 테이블에 나타나는 지정된 열의 열 서수입니다.
구문
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
인수
' capture_instance '
지정된 열이 캡처된 열로 식별된 캡처 인스턴스의 이름입니다. capture_instance sysname입니다.
' column_name '
보고할 열입니다. column_name sysname입니다.
반환 형식
int
설명
이 함수는 변경 데이터 캡처 업데이트 마스크 내에서 캡처된 열의 서수 위치를 식별하는 데 사용됩니다. 주로 함수 sys.fn_cdc_is_bit_set 함께 사용하여 변경 데이터를 쿼리할 때 업데이트 마스크에서 정보를 추출합니다.
사용 권한
원본 테이블의 캡처된 모든 열에 대해 SELECT 권한이 필요합니다. 캡처 인스턴스에 대해 변경 데이터 캡처 구성 요소의 데이터베이스 역할이 지정되어 있으면 해당 역할의 멤버 자격도 필요합니다.
예제
다음 예제에서는 캡처 인스턴스에 대한 HumanResources_Employee
업데이트 마스크에서 열의 VacationHours
서수 위치를 가져옵니다. 그런 다음 이 값은 반환된 업데이트 마스크에서 정보를 추출하는 호출 sys.fn_cdc_is_bit_set
에 사용됩니다.
USE AdventureWorks2022;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @VacationHoursOrdinal int;
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SET @VacationHoursOrdinal = sys.fn_cdc_get_column_ordinal
( 'HumanResources_Employee','VacationHours');
SELECT *, sys.fn_cdc_is_bit_set(@VacationHoursOrdinal,
__$update_mask) as 'VacationHours'
FROM cdc.fn_cdc_get_net_changes_HumanResources_Employee
( @from_lsn, @to_lsn, 'all with mask');
GO
참고 항목
데이터 캡처 함수 변경(Transact-SQL)
변경 데이터 캡처 정보(SQL Server)
sys.sp_cdc_help_change_data_capture(Transact-SQL)
sys.sp_cdc_get_captured_columns(Transact-SQL)
sys.fn_cdc_is_bit_set(Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기