SQLserver 2014 AlwaysOn增强了原有的数据库镜像功能,使得先前的单一数据库故障转移变成以组(多个数据)为单位的故障转移。同时可以支持多达9个复制伙伴,可读性辅助副本服务器等多个特性。对于以组为单位的数据库,主要是解决应用对于多个数据库之间存在的依赖性,从而进行整体转移。其次,可以将那些报表或者只读需求转移到只读辅助副本,从而大大减少主副本的负载,使得主副本更加容易扩展,更好地支持生产负载,以及对请求提供更快的响应。
本文描述了基于虚拟环境Windows 2012 + SQLserver 2014 AlwaysOn配置过程。
基于Vmware workstation 12,4台虚拟机,其中一台域控,3个SQL节点,使用NAT模式,关闭DHCP
此处为简化演示,先安装2个节点的AlwaysOn,即SQLnode1,SQLnode2
机器名称 IP GateWay DNS
SQLDC 192.168.171.20 192.168.171.2 127.0.0.1
SQLnode1(主) 192.168.171.21 192.168.171.2 192.168.171.20
SQLnode2(辅) 192.168.171.22 192.168.171.2 192.168.171.20
SQLnode3(辅) 192.168.171.23 192.168.171.2 192.168.171.20
AlwaysOnWSFC 192.168.171.18
[安装Windows 2012域控(For SQLServer 2014 AlwaysOn)](http://blog.csdn.net/leshami/article/details/51180359)
[Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)](http://blog.csdn.net/leshami/article/details/51218021)
[安装SQLserver 2014(For AlwaysOn)](http://blog.csdn.net/leshami/article/details/51224954)
1)使用与账户启动sqlserver(2节点)
确保2节点使用了域用户账号启动
2)启用AlwaysOn可用性组(2节点)
打开SQLserver配置管理器,找到SQLserver服务,勾选启用AlwaysOn可用性组
4)验证AlwaysOn开启(2节点)
右单击SQLserver服务器选择属性,可以看到启用HADR为True,即表明AlwaysOn已生效
5)在主节点上创建演示库及表
此处演示我们基于SQLnode1,作为主副本
CREATE DATABASE AlwaysonDB1;
GO
CREATE DATABASE AlwaysonDB2;
GO
USE AlwaysonDB1;
GO
CREATE TABLE t1 (id INT ,dbname VARCHAR(20));
INSERT INTO t1 VALUES ( 1, 'AlwaysonDB1' );
USE AlwaysonDB2;
CREATE TABLE t2 (id INT ,dbname VARCHAR(20));
INSERT INTO t2 VALUES ( 1, 'AlwaysonDB2' );
6)创建共享文件夹,用于存放备份以及辅助节点读取备份
如下图,创建了共享文件夹
8、备份数据库
此步骤可以省略,可以在初始化的时候有SQLserver自行备份及还原
backup database AlwaysonDB1 to disk=’C:\AlwaysonBAK\AlwaysonDB1.BAK’;
backup database AlwaysonDB2 to disk=’C:\AlwaysonBAK\AlwaysonDB2.BAK’;
2)指定可用性组名称
4)添加辅助节点
5)配置转移模式以及提交模式,可读等
相关选项项目有描述,可参考。如副本模式等
6)端点配置,保留缺省即可
此处的端点配置等同于数据库镜像时的端点
7)备份首选项
主要是用于设定那个副本具有优先备份的权限
此处忽略了侦听器的配置,可以在后续进行配置
8)选择数据同步方式
此处选择了完整同步,即SQLserver会自动去备份以及在辅助副本上进行还原
9)验证配置
12)构建完成
节点2如下图,2个数据库显示为已同步
14)可用性组管理面板
右单击AlwaysOn高可用性,选择显示面板
1)选择可用性组,右单击,选择故障转移
4)连接到副本
5)转移的摘要信息
8)测试自动故障转移
当前读写节点为SQLNODE2,直接将SQLNODE2 sqlserver服务重启,可用组会自动漂移到SQLNODE1。截图略。