sp_repldone(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
서버의 마지막 분산 트랜잭션을 식별하는 레코드를 업데이트합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
주의
수동으로 실행하는 sp_repldone
경우 배달된 트랜잭션의 순서 및 일관성을 무효화할 수 있습니다. 숙련된 복제 지원 전문가의 지시에 따라 복제 문제 해결에만 사용해야 sp_repldone
합니다.
구문
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;