sys.sp_cdc_change_job(Transact-SQL)
적용 대상: SQL Server
현재 데이터베이스의 변경 데이터 캡처 정리 또는 캡처 작업의 구성을 수정합니다. 작업의 현재 구성을 보려면 dbo.cdc_jobs 테이블을 쿼리하거나 sys.sp_cdc_help_jobs 사용합니다.
구문
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)입니다. 잘못된 입력은 capture
및 cleanup
입니다.
[ @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 변경
0
1
되면 @pollinginterval 자동으로 설정0
됩니다. @pollinginterval0
대해 지정된 값이 무시됩니다.@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