如何找网站开发人员,如何提高网站的收录率和收录量,如何查询网站接入信息,建设网站电话使用发布订阅模式搭建Sql Server 2017主从同步#xff0c;类似事件通知机制#xff0c;基本可以做到准实时同步#xff0c;可以同时做到一对多的数据同步。 不过发布订阅模式#xff0c;只能同时数据#xff0c;不能同步表结构。在创建发布的时候#xff0c;需要选择需要…使用发布订阅模式搭建Sql Server 2017主从同步类似事件通知机制基本可以做到准实时同步可以同时做到一对多的数据同步。 不过发布订阅模式只能同时数据不能同步表结构。在创建发布的时候需要选择需要同步的表对象如果有新增表需要做同步那就需要重新选择表对象然后重新发布快照。 该模式在同步时候不影响从库使用。
环境准备
两台服务器配置都是8g2核50g硬盘操作系统版本Windows Server 2019 Datacenter
主库server1192.168.56.110从库server2192.168.56.111
本人使用虚拟机做模拟配置在虚拟机操作系统上做如下配置 虚拟机配置两张网卡以便和主机通讯 虚拟机启动远程桌面 右键左下角win图标-系统-远程桌面点击启用 创建操作系统账户sqadmin分配管理员权限 为方便测试关闭系统防火墙控制面板\系统和安全\Windows Defender 防火墙\自定义设置 安装Sql Server 2017企业版个人的Express版本不支持事务日志复制 安装SSMS 19.2版本
两台服务共同配置准备
1、创建系统账号sqadmin设置管理员权限 2、设置服务启动账户sqadmin
打开Sql Server Configuration Manager进入SQL Server 服务将SQL Server服务和SQL Server 代理服务的登录身份都改成sqadmin并设置自动启动
3、配置服务器代理账户
打开SQL Server Management Studio链接数据库 右键点击链接选择属性打开服务器属性面板点击安全性选项页勾选启动代理账户输入sqadmin账户密码
4、创建数据库账户sqadmin并设置管理员权限 一、主库 server1 配置
创建快照备份文件夹 c:\dbbackup
创建测试数据库test并创建表t_user、t_company作为测试 注意每个表都必须有主键否则无法同步 create table t_user(
id bigint primary key, --主键
name nvarchar(50) not null, --不为空
);
create table t_company(
id bigint primary key, --主键
name nvarchar(50) not null, --不为空
)新建发布 输入刚创建的备份文件夹 c:\dbbackup 选择要同步的数据库 选择事务发布 选择需要同步的表
这里没有筛选直接下一步 快照代理选择“立即创建快照…”然后下一步 点击“安全设置”配置快照代理账户 选择立即创建快照然后点击下一步 随便输入一个发布名称比如test_bakcup点击完成 打开快照备份文件夹可以看见表快照已经成功生成 至此主库发布创建完成接下来到从库创建订阅
二、从库 server2 配置
创建备份数据库 test_bak
新建订阅下来选择查找发布服务器 输入主库ip链接到主库 选择主库的订阅 选择选项一在分发服务器上运行所有代理然后点击下一步 选择从库的数据库 test_bak 配置分发代理输入账号sqadmin 配置完成后点击下一步直到完成 至此订阅配置完成可以看见两个表已经同步过来了
三、测试
查看快照代理状态 注意如果重新选择了表对象需要在这里点击“启动”重新生成新的快照否则新选择的表对象无法同步到从库 查看从库同步状态
1、在主库创建记录
insert into t_user values (1,01);
insert into t_user values (2,02);insert into t_company values (1,C01);
insert into t_company values (2,C02);2、在从库查询
select * from t_user;
select * from t_company;