AlwaysOn可用组概念

AlwaysOn作为SQL Server2012新功能,其目的主要为了替代镜像功能。

AlwaysOn拥有镜像的同步和异地容灾功能,并能在镜像的基础上实现一对多的镜像副本同步,最多支持一个主副本和四个辅助副本,实现多个辅助副本可读取和备份操作,以提高硬件使用率。在异步和同步的提交模式下,实现手动和自动的故障转移。

alwaysOn高可用基础是Windows群集环境,也就说AlwaysOn相关的主备服务器都需要属于同一个windows群集的节点。

AlwaysOn、Cluster、Mirror比较

AlwaysOn

Cluster

Mirror

基于Windows Cluster

基于Windows Cluster

不基于Windows Cluster

节点数>=2

节点数>=2

节点数=2

Failover条件:
仲裁盘、
心跳网络、
可用性组

Failover条件:
仲裁盘、
心跳网络

Failover条件:
网络连接

数据访问:
1个主节点:读、写
N个子节点:读
实时数据读(默认)

数据访问:
1个主节点:读、写
N个备节点:不可访问
备节点获取不到共享存储

数据访问:
1个主节点:读、写
1个备节点:还原中…
备节点可做数据库快照(不可实时读)

数据库实例类型:
non-cluster

数据库实例类型:
failover-cluster

数据库实例类型:
non-cluster

数据存储及保护级别
总数据量=AlwaysOn数据库×节点数
保护用户数据库

数据存储及保护级别
总数据量=所有数据库之和
仅保护主机,数据由硬件存储保护

数据存储及保护级别
总数据量=Mirror数据库×2
保护用户数据库

应用程序连接字符串:
Server =共享IP;Uid=;Pwd=;Db=
共享IP数可自行设置

应用程序连接字符串:
Server =共享IP;Uid=;Pwd=;Db=
一个共享IP

应用程序连接字符串:
Server =主IP;Uid=;Pwd=;Db=;Failover server=备IP

数据同步方式:
日志(必须使用完整还原模式)

数据同步方式:
存储(只有一份数据文件)

数据同步方式:
日志(必须使用完整还原模式)

AlwaysOn对维护/应用的帮助

1. 实现一对多的镜像关系。更好的提高存储保护级别。

2. 提供统一的访问IP。对于我们的应用,镜像切换后,不再需要更改域名指向IP。

3. 提供了只读的副本,提高的硬件的使用率。

4. 提供了包含数据库的功能,认证级别可以放在数据库级别(即一个带密码的user)。方便镜像的切换。

5. 缺点是AlwaysOn必须基于Windows Cluster,增加了配置和故障排除的复杂性。

AlwaysOn安装要求

1、 非域控制服务器。

2、 确保每台计算机都是 Windows Server 故障转移群集 (WSFC) 群集中的节点。

3、 安装SQL Server 2012的基本要求【Windows Server 2008 R2 sp1; .net 3.5 ; PowerShell 2.0】

4、 建议最新的补丁更新。

AlwaysOn基本术语

1、 可用性数据库

此可用性数据库与镜像配置相同,主数据库需要是完整恢复模式,且需要执行过程完整备份,以确保维护一个完整的日志序列,才能用于AlwaysOn可用性组的日志同步;基本配置方式与镜像相同,我们需要在辅助数据库服务器上还原相同的数据库,且必须处于restoring状态,知道可加入可用性组为止。

2、 可用性副本

可用性组用于承载可用性数据库一个副本

3、 可用性模式

可用性模式用来确定辅助副本将日志写入磁盘之前,是否等待主主数据库上的事务提交。

异步提交模式

主副本无需确认复制副本是否已经将事务日志写入磁盘,便可提交事务。由于允许辅助数据库上的事务滞后于主数据库,因此可能会导致某些数据丢失。

同步提交模式

在主副本提交事务之前,必须等待辅助副本确认已经完成强制写入日志。此模式确保主备数据库同步,这种同步会延长事务滞后时间

4、 故障转移类型

计划手动故障转移,是管理员有需要的时候,可将提交模式从异步改成同步,等待同步之后,手动切换,以保证数据不丢失。

转移模式

同步方式

是否可能丢失数据

自动

同步

计划手动

同步

强制

异步

登陆辅助数据库服务器:ALTER AVAILABILITY GROUP [AG1] FAILOVER

5、 客户端连接

可通过创建可用性侦听器来连接主副本,一个可用性侦听器包括DNS虚拟名称,虚拟IP,一个端口号。

6、 活动辅助副本

辅助副本上执行时,BACKUP DATABASE 仅支持数据库、文件或文件组的“仅复制”完整备份。BACKUP LOG 仅支持常规日志备份(辅助副本上的日志备份不支持 COPY_ONLY 选项)。辅助副本不支持差异备份。若要备份辅助数据库要求,辅助副本必须能够与主副本进行通信,并且状态必须为已同步或正在同步。sys.fn_hadr_backup_is_preferred_replica('dbname')用于确定当前副本是否是首选项。若执行自动备份脚本时,需确认备份脚本适合在哪个副本上执行,建议首先在辅助副本上优先,若有多个副本则可设置每个副本的优先级(1-100),确定哪个副本优先备份,若副本都不能备份,则需要主副本上执行自动备份。

且可对辅助副本设置只读访问。

7、 会话超时期限

可用性组内,副本之间会相互ping以表示对方处于活动状态。默认超时期限设置为10秒,用户可配置此值,最小值为5秒。若连接超时,副本将进入disconnected状态。

8、 自动页修复

每个可用性副本都通过解决阻止读取数据页的一定类型的错误,自动尝试从本地数据库上损坏的页中恢复。 如果辅助副本无法读取某页,则该副本从主副本请求该页的新副本。 如果主副本无法读取某页,该副本将向所有辅助副本广播索取新副本的请求,并从响应的第一个副本中获取该页。 如果此请求成功,则将以新副本替换不可读的页,这通常会解决该错误。

AlwaysOn可用组基础知识的更多相关文章

  1. Oracle ASM 磁盘组基础知识整理(收藏版)

    转至:https://cloud.tencent.com/developer/article/1494403 为什么要写这么一篇基础知识呢?还是有那么一点点原因的,不是胡编乱造还真是有真实存在的事件的 ...

  2. linux文件属性之用户和组基础知识

    root               :x                  :0                  :0                  :root                 ...

  3. Linux文件属性之用户和组基础知识介绍

    一.Linux多用户多任务介绍 Linux/Unix 是一个多用户.多任务的操作系统:在讲Linux账号及账号组管理之前,我们先简单了解多用户.多任务操作系统的基本概念. 1.1Linux单用户多任务 ...

  4. SQL Server 2012实施与管理实战指南(笔记)——Ch3Alwayson可用组

    3.AlwaysOn可用组 Alwayson支持的,是一个可用性组,每个可用性组是包含了多个用户数据库的容器,可用性组内的数据库可以作为一个整体进行故障转移. AlwaysOn关键特性: 一.类似集群 ...

  5. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  6. ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  7. 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  8. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

  9. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn可用性组(理论篇)

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

随机推荐

  1. 洛谷P1345 [USACO5.4]奶牛的电信Telecowmunication

    题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,...,a(c),且a1与a2相 ...

  2. 再次深入探索datasource问题?

    datasource现在几乎每个web框架都会有集成,但是对于数据源的设计原理以及应用上,很少进行深入的研究:实际上数据源也是web框架的核心之一了解一下其内涵还是非常重要的. 数据源(Data So ...

  3. CSS基础知识真难啊-position-relative-absolute

    http://blog.csdn.net/libertea/article/details/11662661 -----------position:relative:生成相对定位的元素,相对于其正常 ...

  4. ( 译、持续更新 ) JavaScript 上分小技巧(二)

    考虑到文章过长,不便于阅读,这里分出第二篇,如有后续,每15个知识点分为一篇... 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第三篇地址:( 译.持续更新 ) Java ...

  5. C语言:链表实现的一个实例

    问题:写一个程序输入你一年看过的所有电影以及每部电影的各种信息(简化问题:每部电影只要求输入片名和评价) 链表实现: #include<stdio.h> #include<stdli ...

  6. 利用jar命令打包和解压

    常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了:而另一种是使用 JET 来进行 ...

  7. JavaWeb---总结(七)HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应,那我们 ...

  8. Linux 普通进程 后台进程 守护进程

    一.普通进程与后台进程 默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作.对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'& ...

  9. 如何查看crontab的日志记录

    在Unix和类Unix的操作系统之中,crontab命令常用于设置周期性被执行的指令,也可以理解为设置定时任务. crontab中的定时任务有时候没有成功执行,什么原因呢?这时就需要去日志里去分析一下 ...

  10. C++学习之Pair

    C++学习之Pair Pair类型概述 pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair<int, string> a; 表示a中有两个类型, ...