sys.sp_cdc_cleanup_change_table(Transact-SQL)
지정된 low_water_mark 값을 바탕으로 현재 데이터베이스의 변경 테이블에서 행을 제거합니다. 이 저장 프로시저는 변경 테이블 정리 프로세스를 직접 관리하려는 사용자를 위해 제공됩니다. 이 프로시저는 변경 테이블에 있는 데이터의 모든 소비자에게 영향을 주므로 사용할 때 주의해야 합니다.
구문
sys.sp_cdc_cleanup_change_table
[ @capture_instance = ] 'capture_instance',
[ @low_water_mark = ] low_water_mark ,
[ @threshold = ]'delete threshold'
인수
[ @capture\_instance = ] 'capture_instance'
변경 테이블과 연결된 캡처 인스턴스의 이름입니다. capture_instance는 sysname이며 기본값은 없고 NULL일 수 없습니다.capture_instance는 현재 데이터베이스에 있는 캡처 인스턴스의 이름을 지정해야 합니다.
[ @low\_water\_mark = ] low_water_mark
capture instance의 새 하위 워터마크로 사용할 LSN(로그 시퀀스 번호)입니다. low_water_mark는 binary(10)이며 기본값은 없습니다.값은 NULL이 아닌 경우 cdc.lsn_time_mapping 테이블에서 현재 값의 start_lsn 값으로 나타나야 합니다. cdc.lsn_time_mapping에 있는 다른 항목의 커밋 시간이 새 하위 워터마크에서 식별한 항목과 동일한 경우 해당 항목 그룹과 연결된 최소 LSN이 하위 워터마크로 지정됩니다.
값이 NULL로 명시적으로 설정된 경우 capture instance의 현재 low watermark가 정리 작업의 상한을 정의하는 데 사용됩니다.
[ @threshold = ] 'delete threshold'
정리 시 단일 문을 사용하여 삭제할 수 있는 삭제 항목의 최대 수입니다. delete_threshold는 bigint이며 기본값은 5000입니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
주의
sys.sp_cdc_cleanup_change_table은 다음 작업을 수행합니다.
@low\_water\_mark 매개 변수는 NULL이 아닌 경우 capture instance의 start_lsn 값을 새 low watermark로 설정합니다.
[!참고]
새 하위 워터마크는 저장 프로시저 호출에 지정된 하위 워터마크가 아닐 수 있습니다. cdc.lsn_time_mapping 테이블에 있는 다른 항목이 동일한 커밋 시간을 공유하는 경우 항목 그룹에 표시된 최소 LSN이 조정된 하위 워터마크로 선택됩니다. @low_water_mark 매개 변수가 NULL이거나 현재 하위 워터마크가 새 하위 워터마크보다 큰 경우 캡처 인스턴스의 start_lsn 값은 변경되지 않은 상태로 유지됩니다.
__$start_lsn 값이 하위 워터마크보다 작은 변경 테이블 항목이 삭제됩니다. 단일 트랜잭션에서 삭제되는 행 수를 제한하는 데 삭제 임계값이 사용됩니다. 항목을 성공적으로 삭제하지 못하는 오류가 발생하면 이 오류가 보고만 되고 캡처 인스턴스 하위 워터마크에서 호출을 기준으로 변경되었을 수 있는 내용에는 영향을 주지 않습니다.
다음과 같은 경우 sys.sp_cdc_cleanup_change_table을 사용합니다.
정리 에이전트 작업에서 삭제 실패를 보고하는 경우
관리자는 이 저장 프로시저를 명시적으로 실행하여 실패한 작업을 다시 시도할 수 있습니다. 지정된 캡처 인스턴스의 정리를 다시 시도하려면 sys.sp_cdc_cleanup_change_table을 실행하고 @low\_water\_mark 매개 변수에 대해 NULL을 지정합니다.
정리 에이전트 작업에서 사용하는 단순 보존 기반 정책이 적합하지 않은 경우
이 저장 프로시저는 단일 캡처 인스턴스의 정리를 수행하므로 개별 캡처 인스턴스에 따라 정리 규칙을 조정하는 사용자 지정 정리 전략을 작성하는 데 사용할 수 있습니다.
사용 권한
db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다.