目的:
  a) AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案。
  b) 当数据库服务器SQL1出现故障宕机时,可以通过AlwaysOn可用性组,自动故障转移到数据库服务器SQL2。
 
=============== 具体步骤 ===============
 
1. 服务管理器添加Hype-V角色,并且新建3台虚拟机:
  a) AlwaysOn-SCSI : iSCSI目标服务器(用于创建仲裁磁盘和共享磁盘)
  b) AlwaysOn-SQL1 : 数据库服务器
  c) AlwaysOn-SQL2 : 数据库服务器
 
 
2. AlwaysOn-SCSI配置iSCSI虚拟磁盘(10G仲裁磁盘 + 80G数据磁盘)
 
 
 
3. AlwaysOn-SQL1/2 安装 SQLServer2012,配置故障转移:
  a) 创建集群 
  b) 添加服务器AlwaysOn-SQL1 + AlwaysOn-SQL2
 
 
 
 
4. AlwaysOn-SQL1/2 启用 AlwaysOn 可用性组
  a) SQL Server 配置管理器 -> SQL Server (MSSQLSERVER) -> 属性 -> AlwaysOn 高可用性
  b) Windows故障转移集群名称 + 勾选 启用 AlwaysOn 可用性组
 
 
5. AlwaysOn-SQL1/2 配置 SQLServer 高可用性:
  a) AlwaysOn 高可用性 -> 新建可用性向导
  b) 添加高可用的目标数据库 + 配置同步数据的共享文件夹
  c) 选择 故障转移模式 -> 自动
 
 
6. 测试:
  a) 手动 故障转移测试
  b) 关机 故障转移测试
  c) 断电 故障转移测试
 
 
7. 小结:
  a) 物理服务器添加Hype-V -> 创建3台VM虚拟主机(1台iSCSI,2台SQL)
  b) iSCSI配置虚拟磁盘(2台SQL -> iSCSI发起程序)
  c) Windows集群配置 -> 添加SQL1/SQL2节点 + 仲裁配置 + 客户端访问点
  d) SQL Server高可用性配置 -> 选择目标数据库 + 指定SQL1/SQL2主副本节点 + 选择故障转移模式:自动 + 配置数据同步的共享文件夹
  c) 测试
  
8. 读写分离:(未能成功...)
 use master

 ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL1'
WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://Node-SQL1.luyuan.cn:5022')) ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL2'
WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'tcp://Node-SQL2.luyuan.cn:5022')) ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL2'
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('NODE-SQL1'))); ALTER AVAILABILITY GROUP [AlwaysOnGroup] MODIFY REPLICA ON N'NODE-SQL1'
WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('NODE-SQL2')));
 

连接参数:Server=tcp:AGListener,1433;Database=AdventureWorks;IntegratedSecurity=SSPI;ApplicationIntent=ReadOnly

参考文章:

http://www.cnblogs.com/aarond/p/3679915.html

https://msdn.microsoft.com/en-us/library/hh213417(v=sql.110).aspx

SQL Server AlwaysOn 故障转移的更多相关文章

  1. AlwaysOn可用性组功能测试(二)--SQL Server群集故障转移对AlwaysOn可用性组的影响

    三. SQL Server群集故障转移对AlwaysOn可用性组的影响 1. 主副本在SQL Server群集CLUSTEST03/CLUSTEST03上 1.1将节点转移Server02.以下是故障 ...

  2. 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

    需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...

  3. SQL Server 2012故障转移的looksalive check和is alive check

    什么是looksalive check和is alive check SQL Server故障转移集群是建立在windows集群服务上的一种热备的高可用方案.在集群运行过程中,windows集群服务定 ...

  4. 在Windows Server 2012中搭建SQL Server 2012故障转移集群

    OK~ WSFC 2012 R2 年度盛宴开始~ 在本文中,老王将用一系列的场景,把动态仲裁,动态见证,票数调整,LowerQuorumPriorityNodeID,阻止仲裁等群集仲裁技术串起来,完成 ...

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

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

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

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

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

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

  8. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

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

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

随机推荐

  1. 将json的时间格式转换成正常的时间格式

    /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符 * ...

  2. NULL & nil & Nil & NSNULL的区别

    nil 是 OC 的,空对象,地址指向 空(0) 的对象 在 OC 中,可以给空对象发送任何消息,不会出现错误 NULL 是 C 的,空地址,地址的数值是 0,是一个长整数 表示地址是空 NSNull ...

  3. java 短信发送例子 2

    package com.google; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStr ...

  4. Struts2中使用Session的两种方法

    在Struts2里,如果需要在Action中使用到session,可以使用下面两种方式: 通过ActionContext 类中的方法getSession得到 Action实现org.apache.st ...

  5. C++_基础_C与C++的区别

    内容: (1)C++简介和编程的基本变化 (2)命名空间的概念和使用 (3)结构体.联合.枚举的不同 (4)布尔类型 以及 运算符别名 (5)函数的重载.缺省参数.哑元以 及内联 1.简介和编程的基本 ...

  6. linux下C++ STL hash_map的使用以及使用char *型变量作为Key值的一大“坑”

    计算机编程中经常会用到hash表,而在C++中,使用STL编程更是少不了的.本文将介绍STL中hash_map的使用.在hash_map中使用自定义类型作为key值的方法以及在使用char *类型作为 ...

  7. 在Yii框架中使用PHPExcel

    PHPExcel是一个比较好用的php读取excel文件的类库,今天遇到了在yii中如何加载PHPExcel类文件的问题,因为Yii的autoload机制是安装类名去找文件,即文件名就是相应的类名,而 ...

  8. JAVA异常使用_每个人都曾用过、但未必都用得好

    一.抛出异常 vs. 返回错误代码 有人说“Well, an exception is a goto.”,但也有人言“makes the code simpler by visibly separat ...

  9. javascript. String方法扩张.

    有时候觉得js内置的方法不够用.可自己扩充. 下面是我扩充的几个方法. 为了避免变量冲出.覆盖.利用自执行函数实现. +function (a) { a.fn = a.prototype; var f ...

  10. AngularJS 之Services讲解

    Angular带来了很多类型的services.每个都会它自己不同的使用场景.我们将在本节来阐述. 首先我们必须记在心里的是所有的services都是singleton(单例)的,这也是我们所希望得到 ...