随便说两句
折腾了一周,也算把数据库同步弄好了。首先局域网内搭建好,进行各种测试,弄的时候各种问题,弄好以后感觉还是挺简单的。本地测试好了,又在服务器进行测试,主要的难点就是跨网段同步,最后也解决了,下面就按本地与服务器解决方案来写。
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数据库实例名与服务器名不一致会出错,具体百度
- 删除服务器可能会报错
使用感受
既有缺点也有优点,同步有延迟,数据量大的,同步也会比较慢,占用带宽。复制也算是分布式,实现了读写分离,高可用性。
最后说两句
写文章确实挺废时间,终于感受到各位大牛的不易了,不过写完的感觉让人挺爽,慢慢积累吧。