服务器环境为Windows Server 2016

一、服务器配置

1. 打开SQL Server配置管理器

2.开启Sql Server代理,启动模式为自动

3.启用SQL Native Clent 10.0配置(32位)下的客户端协议下的Named Pipes

4.启用SQL Server网络配置下的MSSQLSERVER的协议下的Named Pipes

5.启用SQL Native Client 10.0配置下的Named Pipes

6.启用完毕之后重启SQL Server服务

二、主数据库创建发布

1.打开Microsoft SQL Server Management Studio

连接主数据库

3.右键选择复制中的本地发布,选择新建发布

4.直接点下一步

5.选择要发布的数据库

这里选择test库进行同步

6.选择事务发布

7.选择要同步的表

8.直接选择下一步

9.点击立即创建快照

10.点击安全设置

11.选择以下的快照验证方式

12.直接点击下一步

13.选择创建发布

14.点击完成后创建成功

这里起了个发布名称testsub,后面订阅的时候要用

三、从数据库创建订阅

1.打开Microsoft SQL Server Management Studio

登录要同步的从数据库

2.直接点击下一步

3.点击查找服务器

4.登录主数据库

5.选择主服务器下刚才创建的发布

6.选择指定的选项

7. 选择要进行被同步的数据库

这里从数据库选择了test1,此数据库和主数据库的test库表结构一致

8.配置分发代理安全性

9.按照图示进行配置

10.点击下一步

11.代理计划选择连续运行

12.勾选初始化以及立即初始化

13.勾选创建订阅

14.点击完成结束创建

15.主服务器上查看订阅状态

① 发现已经有了一个新的订阅

② 右键点击查看同步状态

③ 状态跟随着主数据库的变化

④ 主数据库修改一个字段试验一下

新增了一条张三的记录

发现同步状态发生变化

查看从数据库发现已经同步成功

四、常见错误

1.选择数据库时报错无法登录

一般是win服务器名称和SQL Server服务名称不一致,将SQL Server服务名称改成和服务器一致即可

2.无法访问远程数据库

防火墙开放1433端口

3.数据库同步,发布订阅报错,对路径“C:\Program Files\Microsoft SQL Server\…… 的访问被拒绝。

可参考https://blog.csdn.net/cplvfx/article/details/104996580 进行解决

4.快照不可用

将快照文件夹设置为共享文件夹