SQL 2014 AlwaysOn 搭建
AlwaysOn底层依然采用Windows 故障转移群集的机制进行监测和转移,因此也需要先建立Windows Cluster,只不过可用性组中的数据库不一定非要再存放在共享存储上了。可以是存储在本地磁盘上。
下面,先看一下AlwaysOn的关键特性:
1. 同故障转移群集一样,也需要一个虚拟网络名称用于客户端的统一连接。
2.一个主服务器可以最多对应四个辅助服务器,总数达到五个,而且辅助服务器支持只读功能。
3.辅助服务器可以独立执行备份和DBCC维护命令。通过配置,可以实现客户端的只读请求可以被自动定向到辅助服务器。
4.主服务器和辅助服务器之间的数据会被加密和压缩,以提高安全性和网络传输效率。
5..支持自动、手动和强制三种故障转移方式。
6.有仪表盘用于监控AlwaysOn的运行状态。
7.可以实现多站点的部署,即主站点和辅助站点可以跨物理网络。
AlwaysOn最多可以支持五个副本,有两种类型的可用性副本:一个“主副本”和一到四个“辅助副本”。但只有一个可用性副本上运行的数据库是处于可读写状态。这个可读写的数据库被称为主数据库(PrimaryDatabase),同时这个可用性副本被称为主副本(primaryreplica)。其余的副本都被称为辅助副本(secondaryreplica),辅助副本上的数据库可能是不可访问的,或者是只能接受只读操作(取决于可用性组的配置),这些数据库被称为辅助数据库。一但发生故障转移,任何一个辅助副本都可以成为新的主副本实例。主副本会不断地将主数据库上的数据变化发送到辅助副本,来实现副本间的数据库同步。

摘自:http://dufei.blog.51cto.com/382644/1384210/
搭建
参考http://www.cnblogs.com/lyhabc/p/4678330.html
环境准备
1、服务器:准备4台虚拟机。DomainServer 10.58.8.98 DB1 10.58.8.99 DB2 10.58.8.102 DB3 10.58.8.103
2、操作系统:windows2008 R2 SP2或者以上版本。
3、数据库:Sqlserver 2014。
DomainServer

DB1 DB2 DB3

步骤1:建立域服务器:
在DomainServer服务器上建立域服务alwayson.com,并将DB1、DB2、DB3的DNS设置为10.58.8.98,然后加如域alwayson.com。

然后下一步,下一步安装完成。
安装完成后,单击域服务安装向导










检查AD域服务和Netlogon服务是否正常启动


创建域管理账户



将这个域用户加入到域计算机组和域管理员组



将DB1/DB2/DB3加入到域服务器


步骤2:DB1 安装故障转移集群

安装完成后DB1创建群集管理










如果出现 OpenService “RemoteRegistry” 失败 错误
解决方法如下:1.域账户登录 2.三台机器时间必须一致
如果集群安装失败,或者节点退出不了,可以参考 http://www.cnblogs.com/woxpp/p/5604488.html
步骤3:配置群集仲裁
DomainServer 配置共享文件夹





步骤4:配置sqlserver 2014账户
修改DB1/DB2/DB3数据库 SQL代理服务和SQL 引擎服务为域账户
注销集群节点计算机,然后使用域用户登录,然后设置SQL Server的启动账户为域用户
打开服务管理器,先修改SQL代理的启动账户为域用户,然后再修改SQL 引擎的启动账户为域用户


如果启动不了参见:http://www.cnblogs.com/woxpp/p/5607908.html
添加域账户为sql登录用户,并给予sysadmin权限
用sa登录后添加SQL登录用户,跟SQL 服务添加启动账户的步骤一样,将域用户添加为登录用户



步骤5:配置sqlserver AlwaysOn
DB1/DB2/DB3 SQL Server配置管理器,启用AlwaysOn可用性组
关闭DB1/BD2/BD3防火墙
查看有效性
SELECT * FROM sys.dm_hadr_cluster_members;
DB1创建数据库TestDB

DB1创建AlwaysOn高可用性



添加副本

将辅助副本设置为可读,能够自动故障转移,同步提交模式

“备份首选项”和“侦听器”不需要设置,保持默认就行

点击“是”
选择初始数据同步

点击“下一步”来验证配置,对应侦听器配置警告可以忽略,后期来添加侦听器


如果出现以下错误


DB1/DB2/DB3 禁用AlwaysOn 然后 重新启动服务 再开启AlwaysOn再重启服务即可


如果出现这个错误,将数据库重现还原






再看一下故障转移集群管理器





步骤6:添加侦听器


在AD里的Computers容器里会添加一个故障转移集群虚拟网络名称账户

在故障转移集群管理器里的角色节点,可以看到客户端访问名称和IP地址,客户端通过这个访问名称进行访问数据库

使用侦听器名称进行登录SQL Server

至此SQL 2014 AlwaysOn 搭建完成,修改主数据库的数据,两个副本会同步相关数据
步骤7:手动故障转移














释迦苦僧 :http://www.cnblogs.com/woxpp/p/5587468.html
SQL 2014 AlwaysOn 搭建的更多相关文章
- SQL Server AlwaysOn搭建
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/高性能解决方案 概述 环境: 域服务器:windows server 2008 R2 SP1,192.168.2.10 DNS:1 ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
原文地址: http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
- (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 步骤 这一篇依然使用step by step的方式 ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
随机推荐
- Vue - 自定义指令
1.Vue.directive(id,definition)注册一个全局自定义指令,接收两个参数,指令ID以及定义对象 2.钩子函数:将作用域与DOM进行链接,链接函数用来创建可以操作DOM的指令 b ...
- 学习CSS3动画(animation)
CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计 ...
- c++单例模式为什么不在析构函数中释放静态的单例对象(转)
需要清楚一下几点: 1.单例中的 new 的对象需要delete释放. 2.delete释放对象的时候才会调用对象的析构函数. 3.如果在析构函数里调用delete,那么程序结束时,根本进 ...
- NOIP2016普及
还记得去年局部变量忘记置零coin爆零的事......结果我今年又要考一年普及[趴 最近沉迷分块莫队无法自拔,这几天才想起来我是个普及组选手 几乎没准备普及,周六上午抱抱佛脚好了...... 希望能顺 ...
- Winform中创建超链接,点击跳转网页
代码如下: System.Diagnostics.Process ie = new System.Diagnostics.Process();ie.StartInfo.FileName = " ...
- js与多行字符串
JS里并没有标准的多行字符串的表示方法,但是在用模板的时候,为了保证模板的可阅读性,我们又不可避免的使用多行字符串,所以出现了各种搞法,这里以一段jade的模板作为示例,简单总结和对比一下. 字符串相 ...
- centos中docker mongodb 配置
安装docker,对于Centos7,如下: $ sudo yum update$ sudo yum -y install docker$ sudo systemctl start docker 首先 ...
- UbuntuでPostgreSQLをインストールからリモートアクセスまでの手順
PostgreSQLサーバの立ち上げに少しハマりましたので.メモしておきます. OS: Ubuntu14.04 LTS インストール 最初はPostgreSQLをインストールします.普通にapt-ge ...
- 《JavaScript Dom编程艺术》(第二版)
第一章<JavaScript简史> 1.JavaScript是一种脚本语言,通常只能通过Web浏览器去完成一些操作而不能像普通意义上的程序那样独立运行,它需要由Web浏览器进行解释和执行. ...
- Java程序开发.邱加永2.1节
by2016.9.8 2.7.1 一维数组 1. 声明 int[] m: char[] c: double[] d: 2. 创建 数组声明之后还不能使用,m = new int[10]: c = ...