sp_setsubscriptionxactseqno(Transact-SQL)
적용 대상: SQL Server
문제 해결 중에 LSN(로그 시퀀스 번호)을 사용하여 마지막으로 배달된 트랜잭션을 지정하는 데 사용되므로 배포 에이전트 다음 트랜잭션에서 배달을 시작할 수 있습니다. 다시 시작한 후 배포 에이전트 배포 데이터베이스 캐시(msrepl_commands)에서 이 LSN(워터마크)보다 큰 트랜잭션을 반환합니다. 이 저장 프로시저는 구독 데이터베이스의 구독자에서 실행됩니다. SQL Server 이외 구독자에 대해서는 지원되지 않습니다.
주의
이 저장 프로시저를 잘못 사용하거나 잘못된 LSN 값을 지정하면 배포 에이전트 구독자에서 이미 적용된 변경 내용을 되돌리거나 나머지 모든 변경 내용을 건너뛸 수 있습니다.
구문
sp_setsubscriptionxactseqno
[ @publisher = ] N'publisher'
, [ @publisher_db = ] N'publisher_db'
, [ @publication = ] N'publication'
, [ @xact_seqno = ] xact_seqno
[ ; ]
인수
[ @publisher = ] N'publisher'
게시자의 이름입니다. @publisher 기본값이 없는 sysname입니다.
[ @publisher_db = ] N'publisher_db'
게시 데이터베이스의 이름입니다. @publisher_db 기본값이 없는 sysname입니다. SQL Server 이외 게시자의 경우 @publisher_db 배포 데이터베이스의 이름입니다.
[ @publication = ] N'publication'
게시의 이름 @publication 기본값이 없는 sysname입니다. 둘 이상의 게시가 배포 에이전트 공유하는 경우 @publication 값을 ALL
지정해야 합니다.
[ @xact_seqno = ] xact_seqno
구독자에 적용할 배포자에서 다음 트랜잭션의 LSN입니다. @xact_seqno varbinary(16)이며 기본값은 없습니다.
결과 집합
열 이름 | 데이터 형식 | 설명 |
---|---|---|
ORIGINAL XACT_SEQNO |
varbinary(16) | 구독자에 적용할 다음 트랜잭션의 원래 LSN입니다. |
UPDATED XACT_SEQNO |
varbinary(16) | 구독자에서 적용할 다음 트랜잭션의 업데이트된 LSN입니다. |
SUBSCRIPTION STREAM COUNT |
int | 마지막 동기화 중에 사용된 구독 스트림의 수입니다. |
반환 코드 값
0
(성공) 또는 1
(실패).
설명
sp_setsubscriptionxactseqno
는 트랜잭션 복제에 사용됩니다.
sp_setsubscriptionxactseqno
피어 투 피어 트랜잭션 복제 토폴로지에서 사용할 수 없습니다.
sp_setsubscriptionxactseqno
는 구독자에서 적용할 때 오류를 일으키는 특정 트랜잭션을 건너뛰는 데 사용할 수 있습니다. 오류가 발생한 후 배포 에이전트 중지된 후 배포자에서 sp_helpsubscriptionerrors 호출하여 실패한 트랜잭션의 값을 검색 xact_seqno
한 다음 sp_setsubscriptionxactseqno
호출하여 @xact_seqno 대해 이 값을 전달합니다. 이렇게 하면 이 LSN 이후의 명령만 처리됩니다.
배포 데이터베이스의 0
보류 중인 모든 명령을 구독자에게 전달하려면 @xact_seqno 값을 지정합니다.
sp_setsubscriptionxactseqno
배포 에이전트 다중 구독 스트림을 사용하는 경우 실패할 수 있습니다.
이 오류가 발생하면 단일 구독 스트림으로 배포 에이전트 실행해야 합니다. 자세한 내용은 복제 배포 에이전트를 참조하세오.
사용 권한
sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만 실행할 sp_setsubscriptionxactseqno
수 있습니다.