AlwaysOn--Backup Preference

AlwaysOn group的一个新特性是允许在secondary replica进行backup,将backup的负载从primary replica上移除去。

并且提供了Backup preference选项,用于在AlwaysOn Availability Group环境下对备份进行管理。需要强调的是,Backup Preferences并没有强制作用,设定之后,依然可以在任意一个replica上进行备份。

下面用一个例子解释如何使用Backup preference

环境

===

Secondary node: SQL108W2K8R21.

Secondary node: SQL108W2K8R22.

Primary node: SQL108W2K8R23.

Availability group: AgGroupTest

Replica database: dbtest1

打开AvwaysOn High Availability ->Availability Groups->右键所需要的Availability Replicas->Properties.

会弹出下面的窗口,点击左面的Backup Preference。

Backup Preference选项分别如下:

Prefer Secondary

优先级高的secondary replica会被设定为Prefer replica ,如果所有的secondary replica优先级相同,那么系统会随机挑选一个作为Prefer replica.

如果高优先级的secondary replica不可用,那么第二高的会被选择为prefer replica,以此类推。

如果primary是唯一可用的replica,那么primary为成为prefer replica。

Secondary only

Primary replica永远不会成为prefer replica, 其余的和Prefer Secondary相同

Primary

只有Primary replica成为prefer replica。

Any Replica

优先级高replica的成为replica

如果replica勾选了Exclude Replica,则该replica不会成为prefer replica

那么如何将backup preference应用到我们的backup计划中呢?下面是一个例子

在所有的replica中建立一个full backup作业,该作业每天运行一次,脚本如下

declare @n int

select @n=sys.fn_hadr_backup_is_preferred_replica ( ‘dbtest1‘ )

if @N=1

begin

declare @timestamp sysname

set @timestamp= replace(replace(CONVERT(char(16),GETDATE(),120),‘:‘,‘_‘),‘ ‘,‘_‘)+‘.bak‘

declare @dbName sysname

set @dbName=‘dbtest‘

declare @path sysname

set @path=‘\\sharefolder\‘--for example c:\backup\

declare @backup nvarchar(200)

set @backup=‘backup database ‘+quotename(@dbName,‘]‘)+‘ to disk=‘+‘‘‘‘+@path+@dbName+@timestamp+‘‘‘ with copy_only‘

exec (@backup)

end

在所有的replica中建立一个log backup作业,该作业每天15分钟一次,脚本如下

declare @n int

select @n=sys.fn_hadr_backup_is_preferred_replica ( ‘dbtest1‘ )

if @N=1

begin

declare @timestamp sysname

set @timestamp= replace(replace(CONVERT(char(16),GETDATE(),120),‘:‘,‘_‘),‘ ‘,‘_‘)+‘.bak‘

declare @dbName sysname

set @dbName=‘dbtest‘

declare @path sysname

set @path=‘\\sharefolder\‘--for example c:\backup\

declare @backup nvarchar(200)

set @backup=‘backup log ‘+quotename(@dbName,‘]‘)+‘ to disk=‘+‘‘‘‘+@path+@dbName+‘_log‘++@timestamp+‘‘‘‘

exec (@backup)

end

这个备份作业使用到了sys.fn_hadr_backup_is_preferred_replica函数,该函数会根据backup preference的设定来判断当前节点是否为prefer replica,如果是,就进行备份,否则退出。

该函数返回0和1,0代表NO,1代表 YES. 这样就保证同一时刻只有一个replica可以进行备份操作。

如果您使用Maintenance Plan来创建计划,默认情况下会自动使用Backup preference.

最后是两个关于backup preference的bug fix

FIX: 100 percent of CPU resources are used after you enable the Log Shipping feature for some databases in SQL Server 2012 http://support.microsoft.com/kb/2887115

FIX: The system function sys.fn_hadr_backup_is_preferred_replica does not work correctly after you have CU7 for SQL Server 2012 SP1 installed http://support.microsoft.com/kb/2918791

AlwaysOn--Backup Preference

时间: 2024-11-05 11:57:58

AlwaysOn--Backup Preference的相关文章

跟踪数据库中执行时间超过1.5秒的语句及SP,导入数据库

跟踪 --============================================================================ --新建两个目录 D:\InOut\TraceDB D:\InOut\TraceLog\ --建数据库,建跟踪执行时间超过1.5秒的语句及SP --建作业,每天在固定时间将跟踪文件导入数据库 --======================================================================

四、基于Windows 2012配置SQL Server 2014 AlwaysOn

SQLserver 2014 AlwaysOn增强了原有的数据库镜像功能,使得先前的单一数据库故障转移变成以组(多个数据)为单位的故障转移.同时可以支持多达9个复制伙伴,可读性辅助副本服务器等多个特性.对于以组为单位的数据库,主要是解决应用对于多个数据库之间存在的依赖性,从而进行整体转移.其次,可以将那些报表或者只读需求转移到只读辅助副本,从而大大减少主副本的负载,使得主副本更加容易扩展,更好地支持生产负载,以及对请求提供更快的响应. 本文描述了基于虚拟环境Windows 2012 + SQLs

部署SQL2012 AlwaysOn可用性组<一>

一.准备环境 1.准备3台计算机 操作系统均为windows server 2008 R2 数据库:test 域控制器,IP:192.168.2.218/24 主节点w65,IP:192.168.2.65/24 辅助节点w67:IP:192.168.2.67/24 测试关闭相关防火墙,安装相关组件如:framew 3.5 sp1,同时windows server 2008 R2安装SQL 2012 需要安装组件"Windows Server 2008 R2 Service Pack 1补丁包&q

部署SQL2012 AlwaysOn可用性组<二>

!!!接上篇部署SQL2012 AlwaysOn可用性组<一> 一.向现有可用性组添加可读副本辅助服务器 1.新增一台w68服务器(IP:192.168.2.68/24),准备安装环境同w67 1)更新windows 2008 R2补丁 2)安装framework 3.5 sp1.故障转移集群组件 3)安装SQL 2012 2.w65服务器故障转移集群把w68服务器添加到集群中 1)打开"故障转移集群管理器"--选择SQLCluter.sz1card1.com集群--点击节

The Accidental DBA:SQL Server Backup

最近重新翻看The Accidental DBA,将SQL Server Backup部分稍作整理,方便以后查阅.一.Understanding RTO and RPO1.1.RTO(Recovery Time Objective),停机时间,how much downtime is acceptable --downtime per year(24*365,5-nines means 99.999% up-time) select 60*24*365*(1-0.99999) --5.25600

部署SQL Server 2016基于工作组的AlwaysOn AG

部署SQL Server 2016基于工作组的AlwaysOn AG 部署说明: 以下部署不用证书.启动账号为Users组成员.各节点位于同一网段. 前期环境准备参考之前的文章: 部署Windows Server 2016基于工作组的集群 安装和配置SQL Server 2016 With SP1 Part1:创建测试数据库 CREATE DATABASE Chapter5App1Customers ; GO ALTER DATABASE Chapter5App1Customers SET RE

基于Windows 2012配置SQL Server 2014 AlwaysOn

SQLserver 2014 AlwaysOn增强了原有的数据库镜像功能,使得先前的单一数据库故障转移变成以组(多个数据)为单位的故障转移.同时可以支持多达9个复制伙伴,可读性辅助副本服务器等多个特性.对于以组为单位的数据库,主要是解决应用对于多个数据库之间存在的依赖性,从而进行整体转移.其次,可以将那些报表或者只读需求转移到只读辅助副本,从而大大减少主副本的负载,使得主副本更加容易扩展,更好地支持生产负载,以及对请求提供更快的响应. 本文描述了基于虚拟环境Windows 2012 + SQLs

16.1 实现 AlwaysOn 可用性组

16.1  实现 AlwaysOn 可用性组 以下通过实验说明配置 AlwaysOn 可用性组的过程. 现有环境如下: 服务器名称 角色 SQLSVR1 WSFC 节点,默认实例 SQLSVR2 WSFC 节点,默认实例 SQLSVR3 WSFC 节点,默认实例 需要添加到 AlwaysOn 可用性组的数据库为 SQLDB01 和 SQLDB02. 16.1.1 先决条件 SQL Server 2012及后续产品才支持 AlwaysOn 可用性组,而且只有企业版才可以使用此功能. 加入 Alwa

Veeam Backup Replication 9.5 永久破解激活VMware Hyper-v备份

Veeam Backup Replication 9.5 永久破解激活VMware Hyper-v备份 Veeam Backup & Replication 是一款强大.易于使用和价格经济的备份与可用性解决方案, 支持快速.灵活且可靠地恢复虚拟化应用程序和数据,将虚拟机 (VM) 备份和复制功能整合在单个软件解决方案中. Veeam Backup & Replication 可为 VMware vSphere 和 Microsoft Hyper-V 虚拟环境提供备受赞誉的支持. 从备份到可