sql server 2012 提供了多种可用于高可用性的解决方案,例如:
1. 通过使用 alwayson 可以提供虚拟 ip 地址(vip)来实现故障转移和读取可扩展性。
2. 镜像(mirroring)。它可以在两个实例之间同步数据库,并保持可用性。一个实例成为主实例,另一个是镜像实例,而数据则同时被写入两个实例。
3. 数据库复制。在这种情况下,一个实例成为发布者,负责将数据更改发布到订阅者。变更在订阅服务器上执行,而不会影响发布服务器或其他订阅服务器。
4. 所谓的“alwayson 复制”技术只能用于 sql server 2016 及更高版本中。
5. 群集(clustering)。虽然它并不是 sql server 自身的一项功能,但仍然是一种可用于实现高可用性的方法。群集包括两个或多个服务器,在群集内运行具有相同配置项的sql server 实例,并且使得当有一个服务器失败后,另一个节点接管。
以上列出的方式没有绝对的好与坏,唯有根据自己现有环境进行综合考虑,并根据需求选用适合自己业务的方案。
本教程按照sql server 2012步骤具体如下:
1.环境配置
2.域环境搭建
3.配置故障转移
4.搭建数据库alwayon
环境配置:
1.准备三台服务器
序号 | 内网ip | 系统 | 账号密码 | 描述 |
---|---|---|---|---|
1 | 172.19.200.110 | Windows server 2008 r2 | administrator (一致) | 域控,dns,仲裁服务器 |
1 | 172.19.87.147 | Windows server 2008 r2 | administrator (一致) | 集群节点1 |
1 | 172.19.87.146 | Windows server 2008 r2 | administrator (一致) | 集群节点2 |
2.三台服务器阿里云在同一个安全组下(内网互通)
3.三台服务器分别安装 .NETFramWork 3.5及故障转移集群角色
4.域控服务器外网带宽问题(解决方案:域控服务器添加专属安全组,禁止外网和内网访问)
5.SQL AlwaysOn设置自动故障转移(侦听器),必须开通阿里云高可用虚ip(Havip),否则则会出现只主副本可以访问,域内其他节点访问不到。
5.SQL AlwaysOn锁承载的服务器必须同一阿里云可用区
6.SQL AlwaysOn如果通过侦听器ip访问,节点服务器同一区域即可,不需要同一可用区
7.链接只读路由连接串为【connectionString=“Data Source=侦听器名称;Initial Catalog=数据名称;Integrated
Security=SSPI;ApplicationIntent=ReadOnly;MultiSubnetFailover=True;”】
到此这篇关于sql server 2012高可用解决方案的文章就介绍到这了,更多相关sql server 2012高可用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!