2009-10-20 复制分发代理成为死锁的牺牲者

来源:互联网 发布:iphone 投影到mac全屏 编辑:程序博客网 时间:2024/05/29 09:02

2009-10-20 复制分发代理成为死锁的牺牲者

 

复制分发代理成为死锁的牺牲者,导致某些命令未同步到订阅服务器上,造成数据的不一致。尤其当insert命令未同步时,后续的update和delete命令找不到对应的记录,导致复制分发代理报错。

 

跟踪trace可以看到,和分发代理一起死锁的是一个系统级别线程,无法确定是什么线程。


我怀疑队列读取代理(queue reader agent)有这种死锁的可能性,但是还不能证实,因为无法模拟这种死锁现象。

 

查找资料,未能找到直接drop queue reader agent的方法。不存在这样的sp:'sp_dropqreader_agent'.


联机帮助提到:执行 sp_dropdistributiondb 时会删除队列读取器代理作业。这说明要删除队列读取器代理必须drop the whole distribution databse


另外一种办法:stop and disable the generated job