复制订阅错误处理。

1、应用复制的命令时在订阅服务器上找不到该行

---- 检查错误,取得senqo
exec sp_helpsubscriptionerrors 'neusoftren','demo','demo_app','neusoftren','demo'
----- 用上面查到的具体事务序列号,查看复制组件执行的具体命令
exec sp_browsereplcmds '0x00023F08000005D2000500000000','0x00023F08000005D2000500000000'
---订阅服务器跳过错误
exec sp_setsubscriptionxactseqno 'neusoftren','demo', 'demo_app', 0x00023F08000005D2000500000000

第二:

  1. select top 100 e.xact_seqno ,e.command_id,e.* from dbo.MSdistribution_history h
  2. join dbo.MSrepl_errors e on h.error_id=e.id
  3. where comments not like %transaction%

用上面查到的具体事务序列号,查看复制组件执行的具体命令。

在分发数据库上执行sp_browsereplcmds,注意必须限定开始和结束xact_seqno。

sp_browsereplcmds '0x000101E500018C16000100000000','0x000101E500018C16000100000000'

找到对应的对象:

  1. Use [distribution]
  2. go
  3. select * From dbo.MSarticles where article_id=@article_id

验证上述数据在故障订阅服务器上是否存在,如果不存在,则补上。

原文地址:https://www.cnblogs.com/renyb/p/2731518.html