SqlServer 高可用数据库读写分离 事务复制
高可用方案
在大型项目往往数据库读写非常频繁,为了解决这个问题微软推出以下高可用方案。
类型 | 介绍 |
---|---|
日志传送 | 通过SQL Server Agent调度作业进行日志的备份、复制、还原实现同步 |
事务复制 | 由复制代理同步发布数据上的增删改操作到订阅服务器(文章使用) |
Always On | 主数据库的事务日志记录发送并运用到每个辅助数据库 |
准备工作
在腾讯云上准备2台windows server 2012 R2 数据中心版
实列规格:2核4G
我们可以先配置一台服务器并安装好sqlserver通过镜像得方式快速复制另一台服务器,注意实列名称要用英文命名默认是IP地址
配置host文件
分别设置2台服务器的host文件 sqlmaster(主数据库),sqltest1(从数据库)
注意1:host是反向的
注意2:主数据库不能使用express版本,express版本不支持创建发布
在sqlmaster服务器上创建测试数据库和表
在sqlmaster服务器创建发布
复制->本地发布-新建发布
发布类型选择快照发布
在创建完成后我们可以在本地发布下看见我们创建的发布
在sqltest1服务器创建订阅
复制-》本地订阅-》新建订阅
选择订阅服务器,订阅数据库要支持远程连接
设置同步时间
创建订阅成功
测试
等待几秒我们可以看到数据已同步到从数据库
总结
在实际开发中及时性要求不高的数据我们可以选择从从数据库中查询避免主数据库过高的负载