본문 바로가기

Database/MS-SQL

[Replication] 오류 해결

** 비활성화  오류시 **

1. 게시자쪽에서 :

use distribution

go

update MSSubscriptions set [status] = 2


2. 구독자쪽에서 :

use distribution

go

exec sp_browsereplcmds


* 사용가능 버전

 - 2005, 2008, 2008 R2


** 트랜잭선 전달 오류 시 건너 뛰기 **

1. 에러지점 확인

sp_helpsubscriptionerrors @publisher = 'SVR_PUB'

        ,  @publisher_db ='DB_REPL'  

        ,  @publication = 'SVR_PUB_to_SVR_RCV_TABLE1' 

        ,  @subscriber = 'SVR_RCV' 

        ,  @subscriber_db = 'DB_RCV' 



2. 건너뛰기

sp_setsubscriptionxactseqno  @publisher = 'SVR_PUB'

, @publisher_db = 'DB_REPL'  

, @publication = 'SVR_PUB_to_SVR_RCV_TABLE1

, @xact_seqno = 0x000049F60000752B000700000000


** 트랜잭선 전달 오류 시 해당 트랜잭션 확인 후 조치 **

1. 해당 트랜잭션 내용 확인

sp_browsereplcmds [ [ @xact_seqno_start = ] 'xact_seqno_start' ]
    [ , [ @xact_seqno_end = ] 'xact_seqno_end' ] 
    [ , [ @originator_id = ] 'originator_id' ]
    [ , [ @publisher_database_id = ] 'publisher_database_id' ]
    [ , [ @article_id = ] 'article_id' ]
    [ , [ @command_id= ] command_id ]
    [ , [ @agent_id = ] agent_id ]
    [ , [ @compatibility_level = ] compatibility_level ]

예 ) 

sp_browsereplcmds '0x000049F600009909000600000000',  0x000049F600009909000600000000' 


2. 리턴된 결과에서 command  확인 후 데이터 업데이트