前言
在人人防疫新肺的当下,人们往往容易忽视另一个病毒的存在:网络勒索病毒。
关于这个问题,村长以前也发表过文章,谈到相关经验和教训,见《ESAP中级教程-与勒索病毒战斗的那些事》
本期,村长结合sqlserver的数据库复制发布订阅功能,来给大家讲一讲更有意义的影分身之术
方案架构
这次方案以村长的开发机
,云备机
,体验服
为示例,最终建成下图所示的同步架构。
其中阿里云主机和体验服都会实时同步开发机上的nxt
库,形成两地三中心
灾备模式。
架设步骤
1.启用sql复制组件
村长的开发机(NAS12)数据库是sql2008r2,安装时需要勾选SQL Server复制
组件。
注意,主机和备机都要启动此组件
2.修改hosts
开发机(NAS12)与云主机(IESAP)是异地网络,需要修改hosts文件,指定云主机IP。
注意,主机和备机如果不是同一个局域网都要修改hosts让计算机名与外网IP对应,以便能直接通过主机名访问。
3.新建发布
进入开发机SSMS,登陆数据库,点击【复制】-【本地发布】-【右键新建发布】,选择发布nxt
数据库。
发布类型选择【事务发布】
勾选全部对象
立即创建快照
启动快照代理
发布完成
4.启动代理服务等
进入sql配置管理,确保启动了Browser和代理服务。
注意,主机和备机都要启动此服务
5.新建订阅
进入云主机,登陆数据库,点击【复制】-【本地订阅】-【右键新建订阅】
选择开发机(NAS12)发布服务器
选择nxt
数据库。
这里村长选择推送订阅,也就是主机(NAS12)推送给从机(IESAP)。
订阅到本地nxt
数据库。
设置本地代理sa账号
连续执行
立即初始化
完成
6.测试同步
在开发机上新建一个提醒
在云主机上查询一下,可以看到,立即同步了
同步情况还可以在开发机上进行监视
重复第5步,将体验服(NAS19)也加入订阅
然后在ES/JU/NX中挂载一下这个数据库就实现一台自动同步开发机更新的体验服了!棒棒哒~
常见问题
-
监视器报告
不能连接到订阅服务器
,一般是没配置好hosts -
如果报告
进程无法在“xxxx”上执行“sp_replcmds”
,那就在sql里执行以下下列脚本,配置dbo权限
USE nxt --nxt改成你的数据库名
GO
sp_changedbowner 'sa'
小结
这里村长演示的是异地单向同步,因为体验服经常需要还原记录。
其实利用SQL Server的发布订阅功能我们还能制作双向同步的数据库,更适合开发-生产的主从模式。
当然,你还可以试试镜像功能,具有实时故障迁移能力,让你的ERP具有多重影分身,九条命,永不宕机!
by 一零村长
2020-3-19