- 이 경우 게시자의 트렌젝션을 구독자가 받지 않았기 때문에 모든 트렌젝션은 활성이 됩니다.
- 물론 앞의 아티클과 같이 게시를 제거하는 방법도 있겠지만, 모든 트렌젝션을 게시한것처럼 업데이트 할 수 있습니다.
- 이때 사용되는 구문이 sp_repldone 입니다.
자 모든 트랜젝션이 모두 배포자에게 배포 되었다라고 하기 위해서는 아래의 구문을 사용합니다.
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
자 모든 트렌젝션을 배포됐다고 선언 했습니다.
이후에 트렌젝션을 백업 받고 잘라내면 됩니다...^^
[기타]
활성화된 트렌젝션은 dbcc opentran( ) 를 통해 확인 할 수 있습니다.
[sp_repldone 옵션 설명]
- [ @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인 경우에만 유효합니다.
[참고]
http://technet.microsoft.com/ko-kr/library/ms173775.aspx