다음을 통해 공유


sys.sp_cdc_get_captured_columns(Transact-SQL)

지정한 캡처 인스턴스에서 추적한 캡처된 원본 열에 대한 변경 데이터 캡처 메타데이터 정보를 반환합니다. 변경 데이터 캡처는 일부 Microsoft SQL Server 버전에서 사용할 수 없습니다. SQL Server 버전에서 지원하는 기능 목록을 보려면 SQL Server 2012 버전에서 지원하는 기능을 참조하십시오.

항목 링크 아이콘 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입니다.

ordinal_position

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입니다.

주의

sys.sp_cdc_get_captured_columns를 사용하면 cdc.fn_cdc_get_all_changes_<capture_instance> 또는 cdc.fn_cdc_get_net_changes_<capture_instance> 캡처 인스턴스 쿼리 함수를 쿼리하여 반환된 캡처된 열에 대한 열 정보를 얻을 수 있습니다. 열 이름, ID 및 위치는 캡처 인스턴스의 수명 동안 일정하게 유지됩니다. 추적된 테이블에서 기본 원본 열의 데이터 형식이 변경될 경우에만 열 데이터 형식이 변경됩니다. 원본 테이블에서 추가되거나 제거된 열은 기존 캡처 인스턴스의 캡처된 열에 영향을 미치지 않습니다.

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

사용 권한

db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다. 다른 모든 사용자의 경우 원본 테이블에서 캡처된 모든 열에 대한 SELECT 권한이 필요하며 캡처 인스턴스에 대한 제어 역할이 정의된 경우 해당 데이터베이스 역할의 멤버 자격이 필요합니다. 호출자에게 원본 데이터를 볼 수 있는 권한이 없으면 함수는 오류 22981(개체가 없거나 액세스가 거부되었습니다)을 반환합니다.

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

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

참고 항목

참조

sys.sp_cdc_help_change_data_capture(Transact-SQL)