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 搭建的更多相关文章

  1. SQL Server AlwaysOn搭建

    标签:SQL SERVER/MSSQL SERVER/数据库/DBA/高性能解决方案 概述 环境: 域服务器:windows server 2008 R2 SP1,192.168.2.10 DNS:1 ...

  2. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  3. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  4. (转载) 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁 ...

  5. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

  6. (转) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    原文地址: http://www.cnblogs.com/lyhabc/p/4682986.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建Alwa ...

  7. (转载) 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建AlwaysOn 做准备的 步骤 这一篇依然使用step by step的方式 ...

  8. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  9. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

随机推荐

  1. Vue - 自定义指令

    1.Vue.directive(id,definition)注册一个全局自定义指令,接收两个参数,指令ID以及定义对象 2.钩子函数:将作用域与DOM进行链接,链接函数用来创建可以操作DOM的指令 b ...

  2. 学习CSS3动画(animation)

    CSS3就是出了不少高大上的功能,3D效果.动画.多列等等.今天写篇文章记录怎么一下怎么用CSS3写一个动画. 丑话还得说前头,IE9以及以下版本不支持CSS3动画(如真要实现可以考虑用js,不过估计 ...

  3. c++单例模式为什么不在析构函数中释放静态的单例对象(转)

    需要清楚一下几点:   1.单例中的 new 的对象需要delete释放.   2.delete释放对象的时候才会调用对象的析构函数.   3.如果在析构函数里调用delete,那么程序结束时,根本进 ...

  4. NOIP2016普及

    还记得去年局部变量忘记置零coin爆零的事......结果我今年又要考一年普及[趴 最近沉迷分块莫队无法自拔,这几天才想起来我是个普及组选手 几乎没准备普及,周六上午抱抱佛脚好了...... 希望能顺 ...

  5. Winform中创建超链接,点击跳转网页

    代码如下: System.Diagnostics.Process ie = new System.Diagnostics.Process();ie.StartInfo.FileName = " ...

  6. js与多行字符串

    JS里并没有标准的多行字符串的表示方法,但是在用模板的时候,为了保证模板的可阅读性,我们又不可避免的使用多行字符串,所以出现了各种搞法,这里以一段jade的模板作为示例,简单总结和对比一下. 字符串相 ...

  7. centos中docker mongodb 配置

    安装docker,对于Centos7,如下: $ sudo yum update$ sudo yum -y install docker$ sudo systemctl start docker 首先 ...

  8. UbuntuでPostgreSQLをインストールからリモートアクセスまでの手順

    PostgreSQLサーバの立ち上げに少しハマりましたので.メモしておきます. OS: Ubuntu14.04 LTS インストール 最初はPostgreSQLをインストールします.普通にapt-ge ...

  9. 《JavaScript Dom编程艺术》(第二版)

    第一章<JavaScript简史> 1.JavaScript是一种脚本语言,通常只能通过Web浏览器去完成一些操作而不能像普通意义上的程序那样独立运行,它需要由Web浏览器进行解释和执行. ...

  10. Java程序开发.邱加永2.1节

    by2016.9.8 2.7.1 一维数组 1. 声明 int[] m: char[] c: double[] d:   2. 创建 数组声明之后还不能使用,m = new int[10]: c = ...