sp_repldone(Transact-SQL)
서버에서 마지막으로 배포된 트랜잭션을 식별하는 레코드를 업데이트합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
주의 |
---|
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_repltrans 또는 sp_replcmds를 사용하여 가져올 수 있습니다.
사용 권한
sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버는 sp_repldone을 실행할 수 있습니다.
예
xactid가 NULL이며 xact_seqno가 NULL이고 reset이 1인 경우 로그 내의 복제된 트랜잭션은 모두 배포됨으로 표시됩니다. 이러한 방법은 더 이상 유효하지 않은 트랜잭션 로그에 복제된 트랜잭션이 있는 상태에서 로그를 자를 때 유용합니다. 예를 들어 다음과 같습니다.
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
주의 |
---|
이 프로시저는 트랜잭션 보류 중인 복제가 있을 때 트랜잭션 로그를 자를 수 있도록 하며 비상 시에 사용합니다. 이 프로시저를 사용하면 데이터베이스의 게시가 해제되고 다시 게시될 때까지 Microsoft SQL Server 2000이 데이터베이스를 복제하지 않도록 할 수 있습니다. |