关于SQLSERVER复制的问题,建立强制订阅之后,分发代理程序出现错误提示

wdczzh 2003-09-13 05:26:47
在跨地区的SQLSERVER复制中,我用的是强制订阅,分发代理程序运行在分发服务器上在分发代理程序执行的时候出现如下错误提示:
“ 违反了 PRIMARY KEY 约束 'PK__@snapshot_seqnos__4AF05276'。不能在对象 '#49FC2E3D' 中插入重复键。”
在建立复制过程中,订阅服务器具有与发布服务器同样的数据,建立的强制订阅时,选的是“否,已经具有架构和数据”项,按理论讲分发代理程序是不应该出现此错误的,但是它却出现了。
出错之后,我在本机建立了一个复制环境,同样的数据库,一个作为发数据库,另一个采用导入数据方式导入了与发布数据库相同的数据之后作为订阅数据库,同样的建立了强制订阅,建立成功了没有出现错的情况,我觉得很奇怪,我在系统表中查了没有“PK__@snapshot_seqnos__4AF05276”这个对象。
那个服务器是不能重装的,目前却一直出现这个错误提示,希望建立复制成功的高手能解释一下,出现这个错误的原因是什么?
非常急迫!!!!!!!!!!!!!!!!!





...全文
118 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdczzh 2004-01-04
  • 打赏
  • 举报
回复
这个问题已全面解决了,原来是和微软的SQLSERVER PACK3造成的BUG,只要修正了之后,就可以解决这个问题,现在复制在跨地区的应用中运行得很好,终于可以松一口气了,感谢如来佛主.
2004-01-04
forgot 2003-12-23
  • 打赏
  • 举报
回复
我觉得没必要这么麻烦,但暂时也小想不到什么好办法,数据库是死的,微软做的最好,也不可能什么问题都能预料到.远程数据库的双向订阅是存在这个问题,特别是有Identity标识列的时候,系统都会自己增加GUID例和一些触发器和存储过程,问题就出在这些地方.
wdczzh 2003-11-20
  • 打赏
  • 举报
回复
问题基本上是解决了,但是不很好,很麻烦.
解决方法非常简单:
采用中转方法
1、将强制订阅建立到订阅服务器上的一个新数据库中。
2、建立这个新数据库的全部发布。
3、对新数据库的发布建立强制订阅到目的订阅数据库中。
建立之后,复制流程就多了一个中间环节,由发布服务器-》分发服务器-》中转数据库->最终订阅数据库。
由于数据库是由另外一个公司设计的,没有根据实际情况,几百个表中大部分建立了许多外部关联关系,给建立复制带来严重的影响。







lshuy2001 2003-09-22
  • 打赏
  • 举报
回复
订阅服务器数据表的主见重复问题,我遇到过,你只要把么的表中的主见限制去掉就应该可以啦!
waterfowl 2003-09-22
  • 打赏
  • 举报
回复
是怎么解决,能说来大家学习学习吗?
wdczzh 2003-09-20
  • 打赏
  • 举报
回复
问题已经解决,感谢各位的热心关注!
zarge 2003-09-15
  • 打赏
  • 举报
回复
关注
forgot 2003-09-15
  • 打赏
  • 举报
回复
触发器引起的。
wdczzh 2003-09-13
  • 打赏
  • 举报
回复
在配置复制的过程中没有出过错,以前其他项目用的是请求订阅,而这个项目由于是跨地区,跨网段性质的项目,有其特殊性,因此这儿用的是强制订阅,只要强制订阅建立之后一执行就会出现上述错误它其中的'PK__@snapshot_seqnos__4AF05276'是动态变化的。
QQ:11711941
你的QQ是多少??
z5wjz 2003-09-13
  • 打赏
  • 举报
回复
配置复制的过程中出过错吗,以前正常吗,把详细的错误信息都写出来看看.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧