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 ...
随机推荐
- 关于Telerik RadGridView 数据列拖动后异常的一种情况
目的: 想实现带有复杂表头(ColumnHeader)的列的动态加载,写了一个用户控件. 问题: 动态加载成功了,显示正常,滚动条也正常,但是一旦进行列的拖动操作之后,程序就挂掉了. 解决尝试: 反复 ...
- (转) Android开发性能优化简介
作者:贺小令 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要求远远高于PC的桌面应用程序.以上理由,足以 ...
- 25个 Git 进阶技巧
[ 原文] http://www.open-open.com/lib/view/open1431331496857.html 我已经使用git差不多18个月了,觉得自己对它应该已经非常了解.然后来自G ...
- Python2 新手 编码问题 吐血总结
什么是编码 任何一种语言.文字.符号等等,计算都是将其以一种类似字典的形式存起来的,比如最早的计算机系统将英文文字转为数字存储(ASCII码),这种文字与数字(或其他)一一对应的关系我们称之为编码.由 ...
- SRM 628 DIV2
250 想想就发现规律了. 500 暴力,括号匹配. 1000 给一个f数组,如果i存在,那么f[i]也得存在,问这样的集合有多少种. 先拓扑一下,dp[i] = mul(dp[son]+1)最后 ...
- 关于Web服务器的认识
马上就要毕业了,也要开始找工作了,大学写了这么多代码了,却没有好好总结一下常用的概念很是遗憾额,就通过这篇博客记录一下我最常用的一些知识好了. 说到Web服务器,有很多文章都介绍的很好,之前看到一篇非 ...
- noi往届题目泛做
noi2015 Day1 t1 程序自动分析 离散化+并查集 t2 软件包管理器 裸树链剖分 t3 寿司晚宴 状压dp Day2 t1 荷马史诗 哈夫曼多叉树 t2 品酒大会 后缀数组按照hei ...
- 使用神经网络来识别手写数字【译】(三)- 用Python代码实现
实现我们分类数字的网络 好,让我们使用随机梯度下降和 MNIST训练数据来写一个程序来学习怎样识别手写数字. 我们用Python (2.7) 来实现.只有 74 行代码!我们需要的第一个东西是 MNI ...
- 基础2.Jquery过滤选择器
1.基础选择器: 名称 说明 举例 #id 根据元素Id选择 $("divId") 选择ID为divId的元素 element 根据元素的 ...
- JavaScript-Function基础知识
function 1. 定义:一段预先设置的代码块,可以反复调用,根据输入参数的不同,返回不同的值: 2. 函数的声明方法: (1)function 命令声明函数 functio ...