日期:2014-05-18  浏览次数:20426 次

sql server 2005关于复制的可靠性,大家来聊聊
1、场景描述

三台服务器: server1(主服务器,发布服务器),db1(发布的数据库,里边有若干的数据表、存储过程、函数等)
  server2(只读服务器-订服务器),订阅数据库db2_rr(订阅的数据库,订阅小于db1对象的数据表等)
  serverA(分发服务器,只处理分发服务器)

2、现在发现的问题
A、快照锁表
  当主服务器生成一次快照时,会锁住主数据库db1相关的所有表,
  因为系统是需要24小时的,这时我的系统会超时
B、复制错误导致数据为空,
  当我在发布项目中追加某个存储过程时,比如这个存储过程关联的表没有进行复制

C、快照生成问题
  是否我每次对发布调整数据表或存储过程(添加、修改、删除等)时我就重新生成一次快照?

---------------------------------------------------

大家来看看这些问题吧

------解决方案--------------------
A、快照锁表
当主服务器生成一次快照时,会锁住主数据库db1相关的所有表,
因为系统是需要24小时的,这时我的系统会超时
--> 选择事务复制,非快照复制,第一次同步时产生一次快照,其他同步则无此问题.

B、复制错误导致数据为空,
当我在发布项目中追加某个存储过程时,比如这个存储过程关联的表没有进行复制
--> 修改复制对象,需新建一条复制.或删除/重建原来的复制.

C、快照生成问题
是否我每次对发布调整数据表或存储过程(添加、修改、删除等)时我就重新生成一次快照?
--> 是的,如B问题之答复.