다음을 통해 공유


sys.sp_cdc_change_job(Transact-SQL)

적용 대상: SQL Server

현재 데이터베이스의 변경 데이터 캡처 정리 또는 캡처 작업의 구성을 수정합니다. 작업의 현재 구성을 보려면 dbo.cdc_jobs 테이블을 쿼리하거나 sys.sp_cdc_help_jobs 사용합니다.

Transact-SQL 구문 표기 규칙

구문

sys.sp_cdc_change_job [ [ @job_type = ] N'job_type' ]
    [ , [ @maxtrans = ] max_trans ]
    [ , [ @maxscans = ] max_scans ]
    [ , [ @continuous = ] continuous ]
    [ , [ @pollinginterval = ] polling_interval ]
    [ , [ @retention ] = retention ]
    [ @threshold = ] 'delete threshold'
[ ; ]

인수

[ @job_type = ] N'job_type'

수정할 작업의 유형입니다. @job_type 기본값capture인 nvarchar(20)입니다. 잘못된 입력은 capturecleanup입니다.

[ @maxtrans ] = max_trans

각 검색 주기에서 처리할 최대 트랜잭션 수입니다. @maxtrans 이 매개 변수에 대한 변경 내용이 없음을 나타내는 기본값NULL인 int입니다. 지정한 경우 값은 양의 정수여야 합니다.

@max_trans 캡처 작업에만 유효합니다.

[ @maxscans ] = max_scans

로그에서 모든 행을 추출하기 위해 실행할 최대 검색 주기 수입니다. @maxscans 기본값NULL인 int이며 이 매개 변수에 대한 변경 내용이 없음을 나타냅니다.

@max_scan 캡처 작업에만 유효합니다.

[ @continuous ] = continuous

캡처 작업이 연속적으로1 실행()되는지 아니면 한 번만 실행할지 여부를0 나타냅니다. @continuous 비트이며 기본값NULL은 이 매개 변수에 대한 변경 내용이 없음을 나타냅니다.

  • @continuous 1경우 sys.sp_cdc_scan 작업은 로그를 검색하고 최대(@maxtrans * @maxscans) 트랜잭션을 처리합니다. 그런 다음 @pollinginterval 지정된 시간(초)을 기다린 후 다음 로그 검사를 시작합니다.

  • @continuous sp_cdc_scan 0 경우 작업은 로그의 최대 @maxscans 검색을 실행하고 각 검사 중에 최대 @maxtrans 트랜잭션을 처리한 다음 종료합니다.

  • @continuous 변경 01 되면 @pollinginterval 자동으로 설정0됩니다. @pollinginterval 0 대해 지정된 값이 무시됩니다.

  • @continuous 생략되거나 명시적으로 설정 NULL 되고 @pollinginterval 명시적으로 보다 0큰 값으로 설정된 경우 @continuous 자동으로 설정1됩니다.

@continuous 캡처 작업에만 유효합니다.

[ @pollinginterval ] = polling_interval

로그 검색 주기 사이의 시간(초)입니다. @pollinginterval 이 매개 변수에 대한 변경 내용이 없음을 나타내는 기본값NULL인 bigint입니다.

@pollinginterval @continuous 설정된 경우 캡처 작업에만 유효합니다1.

[ @retention ] = 보존

변경 행을 변경 테이블에 유지할 시간(분)입니다. @retention 이 매개 변수에 대한 변경 내용이 없음을 나타내는 기본값NULL인 bigint입니다. 최대값은 (100년)입니다 52494800 . 지정한 경우 값은 양의 정수여야 합니다.

@retention 정리 작업에만 유효합니다.

[ @threshold = ] 'delete threshold'

정리 시 단일 문을 사용하여 삭제할 수 있는 삭제 항목의 최대 수입니다. @threshold 이 매개 변수에 대한 변경 내용이 없음을 나타내는 기본값NULL인 bigint입니다. @threshold 정리 작업에만 유효합니다.

반환 코드 값

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

결과 집합

없음.

설명

매개 변수를 생략하면 dbo.cdc_jobs 테이블의 연결된 값이 업데이트되지 않습니다. 명시적으로 NULL 설정된 매개 변수는 매개 변수가 생략된 것처럼 처리됩니다.

작업 유형에 유효하지 않은 매개 변수를 지정하면 문이 실패합니다.

작업 변경 내용은 작업이 sys.sp_cdc_stop_job 사용하여 중지되고 sys.sp_cdc_start_job 사용하여 다시 시작될 때까지 적용되지 않습니다.

사용 권한

db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다.

예제

A. 캡처 작업 변경

다음 예제에서는 데이터베이스에서 캡처 작업의 @job_type, @maxscans@maxtrans 매개 변수를 AdventureWorks2022 업데이트합니다. 캡처 작업에 대한 다른 유효한 매개 변수인 @continuous@pollinginterval 생략됩니다. 해당 값은 수정되지 않습니다.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_change_job
    @job_type = N'capture',
    @maxscans = 1000,
    @maxtrans = 15;
GO

B. 정리 작업 변경

다음 예에서는 AdventureWorks2022 데이터베이스에서 정리 작업을 업데이트합니다. @threshold 제외한 이 작업 형식에 대한 모든 유효한 매개 변수가 지정됩니다. @threshold은 수정되지 않습니다.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_change_job
    @job_type = N'cleanup',
    @retention = 2880;
GO