다음을 통해 공유


sp_setsubscriptionxactseqno(Transact-SQL)

적용 대상: SQL Server

문제 해결 중에 LSN(로그 시퀀스 번호)을 사용하여 마지막으로 배달된 트랜잭션을 지정하는 데 사용되므로 배포 에이전트 다음 트랜잭션에서 배달을 시작할 수 있습니다. 다시 시작한 후 배포 에이전트 배포 데이터베이스 캐시(msrepl_commands)에서 이 LSN(워터마크)보다 큰 트랜잭션을 반환합니다. 이 저장 프로시저는 구독 데이터베이스의 구독자에서 실행됩니다. SQL Server 이외 구독자에 대해서는 지원되지 않습니다.

주의

이 저장 프로시저를 잘못 사용하거나 잘못된 LSN 값을 지정하면 배포 에이전트 구독자에서 이미 적용된 변경 내용을 되돌리거나 나머지 모든 변경 내용을 건너뛸 수 있습니다.

Transact-SQL 구문 표기 규칙

구문

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수 있습니다.