sys.sp_cdc_help_change_data_capture(Transact-SQL)
적용 대상: SQL Server
현재 데이터베이스에서 변경 데이터 캡처가 활성화된 각 테이블에 대한 변경 데이터 캡처 구성을 반환합니다. 각 원본 테이블에 대해 최대 2개의 행을 반환할 수 있으며, 각 캡처 인스턴스에 대해 하나의 행을 반환할 수 있습니다. 변경 데이터 캡처는 SQL Server의 모든 버전에서 사용할 수 없습니다. SQL Server 버전에서 지원되는 기능 목록은 SQL Server 2022의 버전과 지원하는 기능을 참조하세요.
구문
sys.sp_cdc_help_change_data_capture
[ [ @source_schema = ] 'source_schema' ]
[ , [ @source_name = ] 'source_name' ]
[ ; ]
인수
[ @source_schema = ] 'source_schema'
원본 테이블이 속한 스키마의 이름입니다. @source_schema sysname이며 기본값은 .입니다NULL
. @source_schema 지정되면 @source_name 지정해야 합니다.
null 이 아닌 경우 @source_schema 현재 데이터베이스에 있어야 합니다.
@source_schema null이 아닌 경우 @source_name null이 아니어야 합니다.
[ @source_name = ] 'source_name'
원본 테이블의 이름입니다. @source_name sysname이며 기본값은 .입니다NULL
. @source_name 지정되면 @source_schema 지정해야 합니다.
null 이 아닌 경우 @source_name 현재 데이터베이스에 있어야 합니다.
@source_name null이 아닌 경우 @source_schema null이 아니어야 합니다.
반환 코드 값
0
(성공) 또는 1
(실패).
결과 집합
열 이름 | 데이터 형식 | 설명 |
---|---|---|
source_schema |
sysname | 원본 테이블 스키마의 이름입니다. |
source_table |
sysname | 원본 테이블의 이름입니다. |
capture_instance |
sysname | 캡처 인스턴스의 이름입니다. |
object_id |
int | 원본 테이블과 관련된 변경 테이블의 ID입니다. |
source_object_id |
int | 원본 테이블의 ID입니다. |
start_lsn |
binary(10) | 변경 테이블을 쿼리하기 위한 낮은 엔드포인트를 나타내는 LSN(로그 시퀀스 번호)입니다. NULL = 낮은 엔드포인트가 설정되지 않았습니다. |
end_lsn |
binary(10) | 변경 테이블을 쿼리하기 위한 하이 엔드포인트를 나타내는 LSN입니다. SQL Server 2012(11.x)에서 이 열은 항상 NULL . |
supports_net_changes |
bit | 순 변경 지원을 사용할 수 있습니다. |
has_drop_pending |
bit | SQL Server 2012(11.x)에서는 사용되지 않습니다. |
role_name |
sysname | 변경 데이터에 대한 액세스를 제어하는 데 사용되는 데이터베이스 역할의 이름입니다. NULL = 역할이 사용되지 않습니다. |
index_name |
sysname | 원본 테이블의 행을 고유하게 식별하는 데 사용되는 인덱스의 이름입니다. |
filegroup_name |
sysname | 변경 테이블이 있는 파일 그룹의 이름입니다. NULL = 변경 테이블은 데이터베이스의 기본 파일 그룹에 있습니다. |
create_date |
날짜/시간 | 캡처 인스턴스가 활성화된 날짜입니다. |
index_column_list |
nvarchar(max) | 원본 테이블의 행을 고유하게 식별하는 데 사용되는 인덱스 열 목록입니다. |
captured_column_list |
nvarchar(max) | 캡처된 원본 열 목록입니다. |
설명
@source_schema 및 @source_name 모두 기본값NULL
이거나 명시적으로 설정된 NULL
경우 이 저장 프로시저는 호출자가 SELECT 액세스 권한이 있는 모든 데이터베이스 캡처 인스턴스에 대한 정보를 반환합니다. @source_schema 및 @source_name null이 아닌 경우 명명된 특정 사용 테이블에 대한 정보만 반환됩니다.
사용 권한
@source_schema 및 @source_name NULL
호출자의 권한 부여에 따라 결과 집합에 포함되는 사용 가능한 테이블이 결정됩니다. 호출자는 캡처 인스턴스의 캡처된 모든 열에 대한 SELECT 권한과 포함할 테이블 정보에 대해 정의된 게이팅 역할의 멤버 자격이 있어야 합니다.
db_owner 데이터베이스 역할의 멤버는 정의된 모든 캡처 인스턴스에 대한 정보를 볼 수 있습니다. 설정된 특정 테이블에 대한 정보가 요청되면 동일한 SELECT 및 멤버 자격 조건이 명명된 테이블에 적용됩니다.
예제
A. 지정된 테이블에 대한 변경 데이터 캡처 구성 정보 반환
다음 예제에서는 테이블에 대한 변경 데이터 캡처 구성을 반환합니다 HumanResources.Employee
.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_help_change_data_capture
@source_schema = N'HumanResources',
@source_name = N'Employee';
GO
B. 모든 테이블에 대한 변경 데이터 캡처 구성 정보 반환
다음 예제에서는 호출자가 액세스할 수 있는 권한이 있는 변경 데이터를 포함하는 데이터베이스의 모든 사용 가능한 테이블에 대한 구성 정보를 반환합니다.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_help_change_data_capture;
GO