sys.sp_cdc_generate_wrapper_function(Transact-SQL)

적용 대상:SQL Server

SQL Server에서 사용할 수 있는 변경 데이터 캡처 쿼리 함수에 대한 래퍼 함수를 만드는 스크립트를 생성합니다. 생성된 래퍼에서 지원되는 API를 사용하면 쿼리 간격을 날짜/시간 간격으로 지정할 수 있습니다. 이 사양은 변경 데이터 캡처 기술을 사용하여 증분 부하를 결정하는 Integration Services 패키지 디자이너가 개발한 애플리케이션을 포함하여 많은 웨어하우징 애플리케이션에서 함수를 사용하기에 적합합니다.

생성된 sys.sp_cdc_generate_wrapper_function함수에 대한 자세한 내용은 sys.fn_all_changes_<capture_instance>(Transact-SQL)sys.fn_net_changes_<capture_instance>(Transact-SQL)를 참조하세요.

Transact-SQL 구문 표기 규칙

구문

sys.sp_cdc_generate_wrapper_function
    [ [ @capture_instance sysname = ] 'capture_instance' ]
    [ , [ @closed_high_end_point = ] closed_high_end_pt ]
    [ , [ @column_list = ] N'column_list' ]
    [ , [ @update_flag_list = ] N'update_flag_list' ]
[ ; ]

인수

[ @capture_instance = ] 'capture_instance'

스크립트가 @capture_instance 대해 생성되는 캡처 인스턴스는 sysname이며 기본값은 NULL입니다. 값을 생략하거나 명시적으로 NULL로 설정하면 모든 캡처 인스턴스에 대해 래퍼 스크립트가 생성됩니다.

[ @closed_high_end_point = ] high_end_pt_flag

커밋 시간이 높은 엔드포인트와 같은 변경 내용이 생성된 프로시저에 의해 추출 간격 내에 포함되는지 여부를 나타내는 플래그 비트입니다. @closed_high_end_point 비트이며 엔드포인트를 포함해야 임을 나타내는 기본값1이 있습니다. 값은 0 모든 커밋 시간이 상위 엔드포인트보다 엄격하게 작다는 것을 나타냅니다.

[ @column_list = ] N'column_list'

래퍼 함수에서 반환하는 결과 집합에 포함된 캡처된 열 목록입니다. @column_list nvarchar(max)이며 기본값은 NULL입니다. NULL을 지정하면 캡처된 모든 열이 포함됩니다.

[ @update_flag_list = ] N'update_flag_list'

래퍼 함수에서 반환하는 결과 집합에 업데이트 플래그가 포함된 열 목록입니다. @update_flag_list nvarchar(max)이며 기본값은 NULL입니다. NULL을 지정하면 업데이트 플래그가 포함되지 않습니다.

반환 코드 값

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

결과 집합

열 이름 열 유형 설명
function_name nvarchar(145) 생성된 함수의 이름입니다.
create_script nvarchar(max) 캡처 인스턴스 래퍼 함수를 만드는 스크립트입니다.

설명

캡처 인스턴스에 대한 모든 변경 쿼리를 래핑하는 함수를 만드는 스크립트는 항상 생성됩니다. 캡처 인스턴스가 순 변경 쿼리를 지원하는 경우 이 쿼리에 대한 래퍼를 생성하는 스크립트도 생성됩니다.

예제

다음 예제에서는 모든 변경 데이터 캡처 함수에 대한 래퍼를 만드는 데 사용할 sys.sp_cdc_generate_wrapper_function 수 있는 방법을 보여 줍니다.

DECLARE @wrapper_functions TABLE (
    function_name SYSNAME,
    create_script NVARCHAR(MAX)
);

INSERT INTO @wrapper_functions
EXEC sys.sp_cdc_generate_wrapper_function;

DECLARE @create_script NVARCHAR(MAX);

DECLARE #hfunctions CURSOR LOCAL FAST_FORWARD
FOR
SELECT create_script
FROM @wrapper_functions;

OPEN #hfunctions;

FETCH #hfunctions
INTO @create_script;

WHILE (@@fetch_status <> -1)
BEGIN
    EXEC sp_executesql @create_script

    FETCH #hfunctions
    INTO @create_script
END;

CLOSE #hfunctions;

DEALLOCATE #hfunctions;