sqlserver自带的发布订阅可以帮助实现数据库迁移,主从同步,读写分离等,而且配置简单,这里简单介绍下流程
配置前需要安装sqlserver的复制功能,如果没有安装可以通过安装教程添加该功能
1.配置分发服务器
连接到将要作为分发服务器的数据库服务器,展开数据库节点,右键点击复制,选择配置分发
使用本机做分发服务器
开启sqlserver代理
配置快照文件夹(可以根据情况设置本地也可以设置网络共享文件夹目录),如果分发给其他服务器,需要给其他服务器配置访问权限,建议为sqlserver代理新建一个windows用户,并将快照目录权限配置给该用户,方便管理
设置分发数据库名称和数据库存放位置(如果被分发的数据库较大,建议将分发数据库放在其他磁盘,否则在同一个磁盘可能造成磁盘IO过高等)
配置发布服务器(需要发布的数据库服务器,这里也是分发服务器),可以根据情况选择连接方式
之后下一步,完成分发配置
配置完成后我们可以看到这里生成了分发数据库,然后右键复制目录,选择分发服务器属性
这里可以根据实际情况进行一些设置,节省资源,也可以新增或删除分发服务器,启用/禁用发布服务器等
2.发布
右键复制目录——本地发布——新建发布
选择需要发布的数据库
发布类型,这里选择事物发布(实时同步)
根据需要选择发布的表单(注意:表必须包含主键)
一路往下,设置快照代理运行时间;代理安全设置
对于事物发布而言,快照代理只需第一次运行初始化即可,重复执行会造成快照文件夹过大,下图中应单次运行
设置发布名称——完成
3.订阅
登录订阅服务器,并连接数据库
右键复制目录——本地订阅——新建订阅
选择发布服务器——数据库——发布项
选择代理位置,可以选择分发服务器或者订阅服务器,这里选择订阅服务器
选择将表或数据库订阅到哪个数据库
配置与分发服务器的连接
下一步——完成
此时我们可以看到订阅服务器上test数据库已经订阅到发布服务发布的数据,并且由于是事物发布,数据是实时同步的