sys.sp_cdc_get_captured_columns(Transact-SQL)

적용 대상:SQL Server

지정된 캡처 인스턴스에서 추적한 캡처된 원본 열에 대한 변경 데이터 캡처 메타데이터 정보를 반환합니다. 변경 데이터 캡처는 SQL Server의 모든 버전에서 사용할 수 없습니다. SQL Server 버전에서 지원하는 기능 목록은 SQL Server 2022의 버전 및 지원되는 기능을 참조하세요.

Transact-SQL 구문 표기 규칙

구문

sys.sp_cdc_get_captured_columns
    [ @capture_instance = ] 'capture_instance'
[ ; ]

인수

[ @capture_instance = ] 'capture_instance'

원본 테이블과 연결된 캡처 인스턴스의 이름입니다. @capture_instance sysname이며 NULL일 수 없습니다.

테이블에 대한 캡처 인스턴스를 보고하려면 sys.sp_cdc_help_change_data_capture 저장 프로시저를 실행합니다.

반환 코드 값

0 (성공) 또는 1 (실패).

결과 집합

열 이름 데이터 형식 설명
source_schema sysname 원본 테이블 스키마의 이름입니다.
source_table sysname 원본 테이블의 이름입니다.
capture_instance sysname 캡처 인스턴스의 이름입니다.
column_name sysname 캡처된 원본 열의 이름입니다.
column_id int 원본 테이블에 있는 열의 ID입니다.
column_ordinal int 원본 테이블 내의 열 위치입니다.
data_type sysname 열 데이터 형식입니다.
character_maximum_length int 문자 기반 열의 최대 문자 길이 그렇지 않으면 NULL입니다.
numeric_precision tinyint 숫자 기반인 경우 열의 전체 자릿수입니다. 그렇지 않으면 NULL입니다.
numeric_precision_radix smallint 숫자 기반인 경우 열의 전체 자릿수 반경입니다. 그렇지 않으면 NULL입니다.
numeric_scale int 숫자 기반인 경우 열의 배율입니다. 그렇지 않으면 NULL입니다.
datetime_precision smallint datetime 기반인 경우 열의 전체 자릿수입니다. 그렇지 않으면 NULL입니다.

설명

캡처 인스턴스 쿼리 함수 cdc.fn_cdc_get_all_changes_capture_instance 또는>< cdc.fn_cdc_get_net_changes_<capture_instance> 쿼리하여 반환된 캡처된 열에 대한 열 정보를 가져오는 데 사용합니다sys.sp_cdc_get_captured_columns. 캡처 인스턴스의 수명에 대한 열 이름, ID 및 위치 다시 기본 상수입니다. 추적된 테이블의 기본 원본 열의 데이터 형식이 변경될 때 열 데이터 형식만 변경됩니다. 원본 테이블에 추가되거나 원본 테이블에서 삭제된 열은 기존 캡처 인스턴스의 캡처된 열에 영향을 주지 않습니다.

sys.sp_cdc_get_ddl_history 사용하여 원본 테이블에 적용된 DDL(데이터 정의 언어) 문에 대한 정보를 가져옵니다. 추적되는 원본 열의 구조를 수정하는 모든 DDL 변경이 결과 집합에 반환됩니다.

사용 권한

db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다. 다른 모든 사용자의 경우 원본 테이블의 모든 캡처된 열에 대해 SELECT 권한이 필요하며 캡처 인스턴스에 대한 게이팅 역할이 정의된 경우 해당 데이터베이스 역할의 멤버 자격이 필요합니다. 호출자에게 원본 데이터를 볼 수 있는 권한이 없으면 함수는 오류 22981(Object doesn't exist or access is denied.)을 반환합니다.

예제

다음 예제에서는 캡처 인스턴스에서 캡처된 열에 HumanResources_Employee 대한 정보를 반환합니다.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_get_captured_columns
    @capture_instance = N'HumanResources_Employee';
GO