Fork me on GitHub

SQL Server 数据库同步,订阅、发布、复制、跨服务器

随便说两句

折腾了一周,也算把数据库同步弄好了。首先局域网内搭建好,进行各种测试,弄的时候各种问题,弄好以后感觉还是挺简单的。本地测试好了,又在服务器进行测试,主要的难点就是跨网段同步,最后也解决了,下面就按本地与服务器解决方案来写。

SQL Server 数据库同步

  • 快照发布:发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照。

  • 事务发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器。

  • 对等发布:对等发布支持多主复制。发布服务器将事务流式传输到拓扑中的所有对等方。所有对等节点可以读取和写入更改,且所有更改将传播到拓扑中的所有节点。

  • 合并发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据。更改会定期合并。Microsoft SQL Server Compact Edition 只能订阅合并发布。

配置发布服务器

  • 首先登录数据库(需要使用计算名),使用IP无法创建复制

  • 创建过程,一路下一步。
  • 新建发布服务器

  • 选择数据库

  • 发布类型(这里可以根据需要所改)

  • 发布的表

  • 筛选表(根据需求)

  • 快照代理(点击更改,可以修改作业执行计划)

  • 代理安全性

  • 安全设置

  • 创建发布

  • 填写名称,发布完成

配置订阅服务器

  • 新建订阅服务器

  • 查找发布服务器,就上面步骤创建的发布服务器(需要发布服务器登录

  • 找到刚创建的快照

  • 分发代理位置

  • 订阅服务器(选择需要订阅的数据库)

  • 分发代理安全性

  • 这里登录本机登录名

  • 同步计划

  • 初始化订阅

  • 向导操作

  • 成功,搞定

关于跨服务器和跨网同步

  • 设置分发服务器C:\Windows\System32\drivers\etc目录的host文件,添加订阅服务器信息:192.168.0.19 ASERVER (多台继续添加)
  • 设置订阅服务器C:\Windows\System32\drivers\etc目录的host文件,添加发布服务器信息:192.168.0.17 BSERVER
  • 最好设置一个统一数据库帐号用来同步
  • 然后步骤同上发布服务器与订阅服务器,只是服务器名称不一样,使用同样的登录名与密码。

可能会遇到的问题

  • 代理一定要打开
  • 1433端口也得打开
  • 有可能SQL Server数据库实例名与服务器名不一致会出错,具体百度
  • 删除服务器可能会报错

使用感受

既有缺点也有优点,同步有延迟,数据量大的,同步也会比较慢,占用带宽。复制也算是分布式,实现了读写分离,高可用性。

最后说两句

写文章确实挺废时间,终于感受到各位大牛的不易了,不过写完的感觉让人挺爽,慢慢积累吧。

posted @ 2016-12-04 17:22  大葱哥  阅读(1819)  评论(0编辑  收藏  举报