sp_setsubscriptionxactseqno(Transact-SQL)
문제 해결 도중 구독자의 배포 에이전트에 의해 적용될 다음 트랜잭션의 LSN(로그 시퀀스 번호)을 지정하는 데 사용되며 에이전트에서 실패한 트랜잭션을 건너뛸 수 있게 해줍니다. 이 저장 프로시저는 구독 데이터베이스의 구독자에서 실행됩니다. SQL Server 이외 게시자에 대해서는 지원되지 않습니다.
주의 |
---|
이 저장 프로시저를 잘못 사용하거나 잘못된 LSN 값을 지정하면 배포 에이전트에서 구독자에 이미 적용된 변경 사항이 취소되거나 나머지 모든 변경 사항을 건너뛸 수 있습니다. |
구문
sp_setsubscriptionxactseqno [ @publisher= ] 'publisher', [ @publisher_db= ] 'publisher_db', [ @publication= ] 'publication', [ @xact_seqno= ] xact_seqno
인수
[ @publisher= ] 'publisher'
게시자의 이름입니다. publisher는 sysname이며 기본값은 없습니다.[ @publisher_db= ] 'publisher_db'
게시 데이터베이스의 이름입니다. publisher_db는 sysname이며 기본값은 없습니다. SQL Server 이외 게시자의 경우 publisher_db는 배포 데이터베이스의 이름입니다.[ @publication= ] 'publication'
게시의 이름입니다. publication은 sysname이며 기본값은 없습니다. 여러 게시에서 배포 에이전트를 공유하는 경우 publication에 값 ALL을 지정해야 합니다.[ @xact_seqno= ] xact_seqno
구독자에서 발생하는 오류의 원인인 트랜잭션의 xact_seqno입니다. 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(Transact-SQL)를 호출하여 실패한 트랜잭션의 xact_seqno 값을 검색하고 sp_setsubscriptionxactseqno를 호출하여 이 xact_seqno 값을 전달합니다. 그러면 이 LSN 이후의 명령만 처리됩니다.
xact_seqno에 값 0을 지정하여 배포 데이터베이스에 있는 모든 보류 중인 명령을 구독자에 배달합니다.
배포 에이전트에서 복수 구독 스트림을 사용하는 경우 sp_setsubscriptionxactseqno가 실패할 수도 있습니다.
이 오류가 발생하면 단일 구독 스트림으로 배포 에이전트를 실행해야 합니다. 자세한 내용은 복제 배포 에이전트를 참조하십시오.
사용 권한
sysadmin 고정 서버 역할의 멤버 또는 db_owner 고정 데이터베이스 역할의 멤버만이 sp_setsubscriptionxactseqno를 실행할 수 있습니다.
변경 내역
업데이트된 내용 |
---|
@xact_seqno 인수에 대한 정의를 변경했습니다. 이 인수에는 구독자에서 적용되는 데 실패하는 트랜잭션의 xact_seqno가 포함되어야 합니다. 이전 정의에서는 오류가 발생한 다음 트랜잭션이라고 되어 있었으며 이를 수정했습니다. |