다음을 통해 공유


sys.sp_cdc_cleanup_change_table(Transact-SQL)

지정된 low_water_mark 값을 바탕으로 현재 데이터베이스의 변경 테이블에서 행을 제거합니다. 이 저장 프로시저는 변경 테이블 정리 프로세스를 직접 관리하려는 사용자를 위해 제공됩니다. 이 프로시저는 변경 테이블에 있는 데이터의 모든 소비자에게 영향을 주므로 사용할 때 주의해야 합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

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이며 기본값은 5,000입니다.

반환 코드 값

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

결과 집합

없음

주의

sys.sp_cdc_cleanup_change_table에서 다음 작업을 수행합니다.

  1. @low\_water\_mark 매개 변수는 NULL이 아닌 경우 capture instance의 start_lsn 값을 새 low watermark로 설정합니다.

    [!참고]

    새 하위 워터마크는 저장 프로시저 호출에 지정된 하위 워터마크가 아닐 수 있습니다. cdc.lsn_time_mapping 테이블에 있는 다른 항목이 동일한 커밋 시간을 공유하는 경우 항목 그룹에 표시된 최소 start_lsn이 조정된 하위 워터마크로 선택됩니다. @low_water_mark 매개 변수가 NULL이거나 현재 하위 워터마크가 새 하위 워터마크보다 큰 경우 캡처 인스턴스의 start_lsn 값은 변경되지 않은 상태로 유지됩니다.

  2. __$start_lsn 값이 하위 워터마크보다 작은 변경 테이블 항목이 삭제됩니다. 단일 트랜잭션에서 삭제되는 행 수를 제한하는 데 삭제 임계값이 사용됩니다. 항목을 성공적으로 삭제하지 못하는 오류가 발생하면 이 오류가 보고만 되고 캡처 인스턴스 하위 워터마크에서 호출을 기준으로 변경되었을 수 있는 내용에는 영향을 주지 않습니다.

다음과 같은 경우 sys.sp_cdc_cleanup_change_table을 사용합니다.

  • 정리 에이전트 작업에서 삭제 실패를 보고하는 경우

    관리자는 이 저장 프로시저를 명시적으로 실행하여 실패한 작업을 다시 시도할 수 있습니다. 지정된 캡처 인스턴스의 정리를 다시 시도하려면 sys.sp_cdc_cleanup_change_table을 실행하고 @low\_water\_mark 매개 변수에 대해 NULL을 지정합니다.

  • 정리 에이전트 작업에서 사용하는 단순 보존 기반 정책이 적합하지 않은 경우

    이 저장 프로시저는 단일 캡처 인스턴스의 정리를 수행하므로 개별 캡처 인스턴스에 따라 정리 규칙을 조정하는 사용자 지정 정리 전략을 작성하는 데 사용할 수 있습니다.

사용 권한

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

참고 항목

참조

cdc.fn_cdc_get_all_changes_<capture_instance>(Transact-SQL)

sys.fn_cdc_get_min_lsn(Transact-SQL)

sys.fn_cdc_increment_lsn(Transact-SQL)