关于sqlserver搭建分布式数据库,新人求助

QQ1203063727 2015-03-20 03:55:41
对快照复制,事务性复制,合并复制 都有点了解了

用可更新订阅的事务性复制来完成双向同步该怎么做。 多个数据库同时插如数据,然后同步了,主键会出现重复吗。发布和订阅中断了一段时间,在这段时间内 各个数据库的新增和修改 ,在重新连接后会怎么同步。

还有,如果发布数据库新增了一张表,这个操作是否也可以同步复制。

本人小菜
...全文
204 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-03-24
  • 打赏
  • 举报
回复
如果仅仅是各管各的插入和更新,分两个数据库,单向发布。
江南小鱼 2015-03-24
  • 打赏
  • 举报
回复
1#事务复制,不能删除发布的表。 撸主,网络中断或其他原因导致的中断,待中断恢复后,发布服务器增量会自动同步到订阅。
oraclecaicai 2015-03-23
  • 打赏
  • 举报
回复
事务复制是用得最多的,因为它可以构建实时同步的环境。一般来说,都是用它来做读写分离,只有发布数据库进行写操作,其它服务器上的订阅数据库可以分担一部分读操作。如果两个或多个节点要同时写入的话,核心的问题就是如何避免写冲突,你可以参考联机丛书中的点对点事务复制方案。至于带有可更新订阅的事务复制,可以参考这位兄弟的帖子: http://bbs.csdn.net/topics/391000696 不过,他是因为两个节点在不同地方,由于业务需要不得已采用的这种方案。个人认为,最好还是不要让业务逻辑跟系统架构耦合太紧。 事务复制中,如果你在发布中新增一张表,需要手工创建一个新的快照。然后,复制代理会把新增的对象和数据同步到订阅服务器。但是,如果你从发布中删除一张表,系统会立即要求你创建新的快照,并且所有该发布的订阅都要重新初始化,即全量同步,这个是非常耗时的。所以,要事先做好规划。你可以通过监控分发数据库中的如下表了解复制的过程: distribution.dbo.MSsnapshot_history distribution.dbo.MSlogreader_history distribution.dbo.MSdistribution_history

27,579

社区成员

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

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