다음을 통해 공유


sp_repldone(Transact-SQL)

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

주의 사항주의

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인 경우 트랜잭션 로그가 첫 번째 복제된 트랜잭션으로 다시 설정되고 복제된 트랜잭션이 배포됨으로 표시되지 않습니다. resetxactidxact_seqno가 모두 NULL인 경우에만 유효합니다.

반환 코드 값

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

주의

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

sp_repldone은 어떤 트랜잭션이 배포되었는지 추적하기 위해 로그 판독기 프로세스에 의해 사용됩니다.

sp_repldone을 사용하여 트랜잭션이 복제되었음(배포자에 전달되었음)을 서버에 수동으로 알릴 수 있습니다. 또한 트랜잭션을 복제를 대기하고 있는 다음 트랜잭션으로 표시하도록 변경할 수 있습니다. 복제된 트랜잭션 목록에서 앞뒤로 이동할 수 있습니다(해당 트랜잭션 이하의 모든 트랜잭션이 배포됨 표시됩니다).

필수 매개 변수인 xactidxact_seqnosp_repltrans 또는 sp_replcmds를 사용하여 가져올 수 있습니다.

사용 권한

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

xactid가 NULL이며 xact_seqno가 NULL이고 reset1인 경우 로그 내의 복제된 트랜잭션은 모두 배포됨으로 표시됩니다. 이러한 방법은 더 이상 유효하지 않은 트랜잭션 로그에 복제된 트랜잭션이 있는 상태에서 로그를 자를 때 유용합니다. 예를 들어 다음과 같습니다.

EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0,     @time = 0, @reset = 1
주의 사항주의

이 프로시저는 트랜잭션 보류 중인 복제가 있을 때 트랜잭션 로그를 자를 수 있도록 하며 비상 시에 사용합니다. 이 프로시저를 사용하면 데이터베이스의 게시가 해제되고 다시 게시될 때까지 Microsoft SQL Server 2000이 데이터베이스를 복제하지 않도록 할 수 있습니다.