다음을 통해 공유


sp_repldone(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

서버의 마지막 분산 트랜잭션을 식별하는 레코드를 업데이트합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.

주의

수동으로 실행하는 sp_repldone 경우 배달된 트랜잭션의 순서 및 일관성을 무효화할 수 있습니다. 숙련된 복제 지원 전문가의 지시에 따라 복제 문제 해결에만 사용해야 sp_repldone 합니다.

Transact-SQL 구문 표기 규칙

구문

sp_repldone [ @xactid = ] xactid
    , [ @xact_seqno = ] xact_seqno
    [ , [ @numtrans = ] numtrans ]
    [ , [ @time = ] time ]
    [ , [ @reset = ] reset ]
[ ; ]

인수

[ @xactid = ] xactid

서버의 마지막 분산 트랜잭션에 대한 첫 번째 레코드의 LSN(로그 시퀀스 번호)입니다. @xactid 기본값이 없는 binary(10)입니다.

[ @xact_seqno = ] xact_seqno

서버의 마지막 분산 트랜잭션에 대한 마지막 레코드의 LSN입니다. @xact_seqno 기본값이 없는 binary(10)입니다.

[ @numtrans = ] numtrans

분산된 트랜잭션 수입니다. @numtrans 기본값이 없는 int입니다.

[ @time = ] time

제공된 경우 마지막 트랜잭션 일괄 처리를 배포하는 데 필요한 시간(밀리초)입니다. @time 기본값이 없는 int입니다.

[ @reset = ] reset

다시 설정 상태입니다. @reset 기본값이 없는 int입니다.

  • 이 경우 1로그에 복제된 모든 트랜잭션이 분산된 것으로 표시됩니다.
  • 트랜잭션 로그가 첫 번째 복제된 트랜잭션으로 다시 설정되고 복제된 트랜잭션이 분산된 것으로 표시되지 않는 경우 0

@reset @xactid 및 @xact_seqno 모두 있는 경우에만 유효합니다NULL.

반환 코드 값

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

설명

sp_repldone 는 트랜잭션 복제에 사용됩니다.

sp_repldone 는 로그 판독기 프로세스에서 배포된 트랜잭션을 추적하는 데 사용됩니다.

를 사용하면 sp_repldone트랜잭션이 복제되었음을 서버에 수동으로 알릴 수 있습니다(배포자에 전송됨). 또한 복제를 기다리는 다음 트랜잭션으로 표시된 트랜잭션을 변경할 수 있습니다. 복제된 트랜잭션 목록에서 앞으로 또는 뒤로 이동할 수 있습니다. (해당 트랜잭션보다 작거나 같은 모든 트랜잭션은 분산된 것으로 표시됩니다.)

필요한 매개 변수 @xactid@xact_seqno 사용하거나 sp_replcmds사용하여 sp_repltrans 가져올 수 있습니다.

이 절차는 긴급 상황에서 복제 보류 중인 트랜잭션이 있을 때 트랜잭션 로그 잘림을 허용하는 데 사용할 수 있습니다. 자세한 내용은 예제 섹션을 참조하세요.

사용 권한

sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버를 실행할 sp_repldone수 있습니다.

예제

@xactid 경우 @xact_seqno 1 NULL@reset 로그에 복제된 모든 트랜잭션이 분산된 것으로 표시됩니다.NULL 이러한 방법은 더 이상 유효하지 않은 트랜잭션 로그에 복제된 트랜잭션이 있는 상태에서 로그를 자를 때 유용합니다. 예를 들어 다음과 같습니다.

EXEC sp_repldone
    @xactid = NULL,
    @xact_seqno = NULL,
    @numtrans = 0,
    @time = 0,
    @reset = 1;