目的:
  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. 自定义视图控制器切换(iOS)

    在iOS开发过程中,通常我们会使用UINavigationController,UITabbarController等苹果提供的视图控制器来切换我们的视图.在iOS5之前,如果要自定义容器视图控制器很 ...

  2. 动态根据checkbox 增加Dom

    <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" ...

  3. WeixinJSBridge:微信浏览器内置JavaScript 对象

    微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享 ...

  4. PHP学习笔记十三【二维数组】

    <?php //二维数组 $arr=array(array(1,2,3),array(4,5,6)); $arr1[0]=array(12,34,65); $arr1[1]=array(34,6 ...

  5. [Linked List]Partition List

    Total Accepted: 53879 Total Submissions: 190701 Difficulty: Medium Given a linked list and a value x ...

  6. Android 创建自定义布局

    我们所有的控件都是继承至View类的,而所有的布局都是继承至ViewGroup的,所以我们也可以继承某个view类来实现我们自己的布局或者控件. 引入布局 我们新建一个title.xml的layout ...

  7. python针对于mysql的增删改查

    无论是BS还是CS得项目,没有数据库是不行的. 本文是对python对mysql的操作的总结.适合有一定基础的开发者,最好是按部就班学习的人阅读.因为我认为人生不能永远都是从零开始,那简直就是灾难. ...

  8. python中的星号*、**的意义

    我们都知道,定义一个函数,当传入的参数个数未知时就可以使用*来表示. 单引号*: def test(*args): if len(args) >= 4: print(arg[3]) test(1 ...

  9. linux shell if语句

    #!/bin/bash read -p "please input Y/N" keyWord if [ "$keyWord" == "Y" ...

  10. 浅谈 qmake 之 shadow build(就是将源码路径和构建路径分开)

    shadow build shadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁. 这不是qmake ...