Sqlserver系列之-本地发布、订阅及注意事项

1.环境

个人在服务器装的是2014版本的Sqlserver数据库,本地发布和订阅类似于Mysql的主从配置,即一个主数据库Master,一个从数据库Slave,主数据库和从数据库做好映射,既可以进行数据的同步,即主从相同的表格,主数据库数据发生改变,也会同步到从数据库,保持相同表格数据一致。具体的Sqlserver的安装我就不做扩展,之前装了一次也没有做日志记录,不懂安装的百度,教程很多。
Sqlserver系列之-本地发布、订阅及注意事项

2.前置条件

  1. 本地发布和本地订阅必须存在,位置如下图,一般安装默认是有的,如果没有那请检查安装配置是否正确
    Sqlserver系列之-本地发布、订阅及注意事项

  2. 必须启动SQL Server代理服务(默认是未开启,手动模式)
    Sqlserver系列之-本地发布、订阅及注意事项

  3. 要给快照信息存放文件夹授权,如果不授权会因为没有读写权限而报错,快速的解决办法就是授予 everyone 用户角色权限
    Sqlserver系列之-本地发布、订阅及注意事项

3.配置

3.1. 选择本地发布

  1. 新建发布,下一步选择要发布的数据库
    Sqlserver系列之-本地发布、订阅及注意事项

  2. 选择事务发布
    Sqlserver系列之-本地发布、订阅及注意事项

  3. 勾选表,下一步可以筛选表字段啥的
    Sqlserver系列之-本地发布、订阅及注意事项

  4. 下一步、下一步代理安全性配置代理
    Sqlserver系列之-本地发布、订阅及注意事项

  5. 发布名称填写,完成
    Sqlserver系列之-本地发布、订阅及注意事项

3.2. 本地订阅

  1. 选择要发布的数据库
    Sqlserver系列之-本地发布、订阅及注意事项
  2. 分发代理位置
    Sqlserver系列之-本地发布、订阅及注意事项

注意:这里我们选中推送订阅
当数据库的数据有变更的时候,就会通过订阅和发布系统通知各个从数据库更新

  • 从数据库隔一段时间轮询主数据库,将主数据库中增量的脚本获取后执行(性能低下)
  • 当主数据库有数据更新时,主数据库将增量的数据脚本自动推送给各个数据库执行(性能高效,也是我们使用的这种)
  1. 下一步…订阅服务器,从数据库订阅主数据库
    Sqlserver系列之-本地发布、订阅及注意事项

  2. 分发代理安全性配置
    Sqlserver系列之-本地发布、订阅及注意事项

  3. 后面没有需要特别注意的地方,下一步,下一步即可。

4.快照执行状态查看

查看快照执行状态,如果没有执行点击启动即可,位置如图:
Sqlserver系列之-本地发布、订阅及注意事项
启动成功
Sqlserver系列之-本地发布、订阅及注意事项

5.数据验证

Master添加两条数据
Sqlserver系列之-本地发布、订阅及注意事项
Slave数据查看
Sqlserver系列之-本地发布、订阅及注意事项
可以看到数据执行同步成功!!!

至此,发布订阅配置完毕!!!