SqlserverAlwayson高可用性方案设计.docx

上传人:b****5 文档编号:30185605 上传时间:2023-08-05 格式:DOCX 页数:14 大小:198.45KB
下载 相关 举报
SqlserverAlwayson高可用性方案设计.docx_第1页
第1页 / 共14页
SqlserverAlwayson高可用性方案设计.docx_第2页
第2页 / 共14页
SqlserverAlwayson高可用性方案设计.docx_第3页
第3页 / 共14页
SqlserverAlwayson高可用性方案设计.docx_第4页
第4页 / 共14页
SqlserverAlwayson高可用性方案设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SqlserverAlwayson高可用性方案设计.docx

《SqlserverAlwayson高可用性方案设计.docx》由会员分享,可在线阅读,更多相关《SqlserverAlwayson高可用性方案设计.docx(14页珍藏版)》请在冰豆网上搜索。

SqlserverAlwayson高可用性方案设计.docx

SqlserverAlwayson高可用性方案设计

 

Sqlserver2012Alwayson高可用性方案

 

编制

日期

2015-09

审核

日期

批准

日期

发布

实施

 

变更记录

版本

修订时间

修订人

修订类型

修订章节

修订容

V1.0.0

2015-09

龚新艳

A

创建

*修订类型分为A-ADDEDM-MODIFIEDD–DELETED

注:

对该文件容增加、删除或修改均需填写此记录,详细记载变更信息,以保证其可追溯性

 

1需求分析

1.1背景说明3

1.2系统目标与系统边界4

2AlwaysOn高可用性配置

2.4AlwaysOn部署………………………………………………………………………………...………..………………7

3数据库备份

5灾备系统测试

 

11需求分析

1.1背景说明

AlwaysOn利用了Windows故障转移群集的健康监测和自动故障转移的特性,因此它必须建立在Windows故障转移群集之上。

但是和SQLServer群集不同的是,可用性组里的数据库并不是一定要求存放在共享存储(SharedDisk)上的,它们也可以存储在本地磁盘上。

另外,可用性组是以用户数据库的集合为单位进行健康检测和故障转移的,而不像SQLServer群集那样是以整个实例为单位。

AlwaysOn具有以下这些关键特性:

1.      像群集一样,AlwaysOn支持故障转移,但是它具有其独特的特点:

∙多个用户数据库可以一同进行故障转移。

这对要同时使用多个用户数据库的应用,例如Microsoft    SharePoint,会很有帮助。

∙提供一个虚拟的服务器网络名,无论哪个服务器是当前的主服务器,客户端都可以使用统一的虚拟服务器名进行连接。

∙具有三种故障转移模式:

自动,手动和强制,用户可以选择发生故障切换的条件。

∙一个主服务器可以对应最多达4个辅助服务器(总共5个服务器)。

发生故障时可以切换到任意一个辅助服务器上。

∙有Dashboard可用于监视AlwaysOn的运行状态。

有丰富的信息可用于故障诊断(DMV,性能计数器,扩展事件日志等)

∙得益于WindowsServer2008群集,可以实现多站点的部署。

主服务器和辅助服务器之间可以在物理上相隔很远。

2.      像镜像和日志传递一样,AlwaysOn在辅助服务器上有数据库的另外一份拷贝。

所不同的是,这份拷贝可以支持更多的只读功能。

∙每个辅助服务器上都有一份数据的拷贝,可以使服务器上的数据拷贝和主服务器上的数据完全同步。

∙辅助服务器可用于只读的访问请求。

∙辅助服务器可以执行备份和DBCC命令。

∙在某些配置情况下,客户端的只读请求可以被自动定向到辅助服务器。

∙可以自动修复某些类型的数据页面损坏问题。

∙主服务器和辅助服务器之间的数据会被加密和压缩,提高了安全性又降低了网络流量。

通过上面这些特性,相信你已经很清楚地看到,AlwaysOn集合了许多以往SQLServer高可用和灾难恢复技术的优点,同时又具有自己独特的功能。

这些特性不但保证了SQLServer更高的可用性,而且还实现了一定程度上的负载均衡,减轻了SQLServer主服务器的压力。

1.2系统目标与系统边界

通过高可用性AlwaysOn方案实现负载均衡,读写分离,减轻sqlserver主服务器的负担,为灾难恢复提供有效保障。

2AlwaysOn高可用性配置

 

 

2.1环境

1、服务器:

准备3台服务器SQL01,SQL02,SQL03。

2、操作系统:

windows2008R2SP2或者以上版本。

3、数据库:

Sqlserver2012。

2.2操作系统安装及设置

1、在3台服务器上均安装操作系统windows2008R2,并分别设置计算机名为:

Sql01、SQL02、sql03,分别设置IP为10.0.0.11,10.0.0.12,10.0.0.13.子网掩码都是255.255.255.0.默认网关是10.0.0.251.

2、在Sql01、SQL02、sql03上开启功能.NET3.5SP1。

3、在Sql01、SQL02、sql03上安装Sqlserver2012。

4、在Sql01服务器上建立域服务HMD.、并将Sql01、SQL02、sql03的DNS设置为10.0.0.20,然后加域HMD.。

2.3windows2008故障转移群集部署

1、以HMD.\administrator域登录Sql01、SQL02、sql03,并添加故障转移集群功能。

2、在Sql01、SQL02、sql03中任一台机上创建群集,并将Sql01、SQL02、sql03台服务器添加进去、群集名称为sqlcluster1.hmd.,群集IP为10.0.0.20。

2.4alwayson部署

1.启动AlwaysOn高可用性功能

2.附加SQL数据库

3.AlwaysOn高可用添加节点

指定可用性组名称:

sqlalwayson

 

分别添加副本服务器SQL02\SQL03

 

3数据库备份

3.1在辅助服务器sql02上面进行数据库完整备份和日志备份

AlwaysOn在辅助服务器sql02上面进行数据库完整备份和事物日志备份。

3.2查看主服务器备份文件有效性。

AlwaysOn为了减轻主服务器的压力,选择在辅助服务器sql02上面进行数据库完整备份和事物日志备份。

备份频率分别是:

每周进行一次数据库完整备份,每半小时进行一次事物日志备份。

 

4模拟故障转移切换节点

 

 

4.1在主节点实施故障转移策略

右键故障转移

 

选择副本SQL02作为新的主副本。

4.2将节点sql03部署在异地机房,选择异步提交,允许>10ms延时

当机房sql01,sql02服务器均发生故障灾难时,手动将sql03故障转移切换成主副本。

4.3读写分离的故障转移模式

主节点sql01作为写应用,辅助节点sql02作为同步提交的故障转移只读应用,延时<10ms.当主节点sql01发生灾难故障时,自动切换到sql02辅助节点作为新的主节点接入写应用。

Sql03就变成辅助节点提交接入只读应用。

5灾备系统测试

5.1模拟数据中心的客户数据库发生故障

(一)目标:

1分钟之将所有数据中心的客户数据库转向数据中心的客户数据库。

(二)测试步骤:

1.将homeother数据库设置为脱机。

2.立即访问电商发现相关页面发生系统性功能失效。

3.一分钟再次访问电商发现故障已恢复。

4.一切恢复正常运转。

5.2模拟数据中心的硬件发生故障

(一)目标:

1分钟之将所有数据中心的客户数据库转向数据中心的客户数据库。

(二)测试步骤:

1.将数据中心的服务器sql01存条拆除。

2.立即访问电商发现相关页面发生系统性功能失效。

3.一分钟再次访问电商发现故障已恢复。

4.一切恢复正常运转。

5.3模拟数据中心的数据在14:

31分人为删除丢失数据

(一)目标:

3分钟之将所有数据中心的客户数据库转向数据中心的客户数据库。

(二)测试步骤:

1.将数据中心的重要订单数据在14:

31分删除一条。

2.立即访问电商该客户的订单数据发现缺失。

3.将最后一次的完整备份和14:

31分的日志备份恢复即可。

3.三分钟再次访问电商发现故障已恢复。

4.一切恢复正常运转。

5.4模拟数据中心存储设备有故障

(一)目标:

1分钟之将所有数据中心的客户数据库转向数据中心的客户数据库。

(二)测试步骤:

1.将数据中心的服务器sql01硬盘拆除。

2.访问电商发现相关页面发生系统性功能失效。

3.一分钟再次访问电商发现故障已恢复。

4.一切恢复正常运转。

5.5灾备检测工具DBCC

在危急时刻,数据库一致性检测(DBCC)可能是你最重要的工具。

它们包括:

检测表和相关目录的完整性;检测整个数据库;检测数据库页的完整性;重建任何指定表中的目录;包括以下扩展:

CheckDB:

检测整个数据库的一致性,是检查数据库破坏的基本方法。

CheckTable:

检测特定表的问题。

CheckAlloc:

检测数据库的单个页面,包括表和目录。

Reindex:

重建某个特定表的目录。

CacheStats:

说明当前存储在存缓存中的对象。

DropCleanBuffers:

释放当前存储在缓冲区中的所有数据,这样你就可以继续进行检测,而不必使用前面的结果。

Errorlog:

删除(缩短)当前日志。

你可以考虑确定包含这个命令的操作的时间,一个星期左右运行一次。

FlushProclnDB:

清除特定数据库的存储过程缓存(使用它的数据库id而不是名称)。

使用下列代码找出id:

SELECTdbidFROMmaster.dbo.sysdatabasesWHEREname='

IndexDefrag:

减少目录分裂,但不给文件加锁,以便用户能够继续应用数据库。

CheckCatalog:

检测特定数据库表及表之间的一致性(后者意味着使用外键等。

DBCC命令分类

维护语句DBCCDBREINDEX重建指定数据库中表的一个或多个索引

DBCCDBREPAIR除去损坏的数据库

DBCCINDEXDEFRAG整理指定的表或视图的聚集索引和辅助索引碎片

DBCCSHRINKDATABASE收缩指定数据库中的数据文件大小

DBCCSHRINKFILE收缩相关数据库的指定数据文件或日志文件大小

DBCCUPDATEUSAGE报告和更正sysindexes表的不正确容,

该容可能会导致通过sp_spaceused

系统存储过程产生不正确的空间使用报表

状态语句DBCCINPUTBUFFER显示从客户端发送到MSSQLServer的最后一个语句

DBCCOPENTRAN如果在指定数据库存在最旧的活动事务和最旧的分布和非分布式复制事务,则显示与之相关的信息。

只有当存在活动事务或数据库包含复制信息时,才显示结果。

如果没有活动事务,就显示信息性消息

DBCCOUTPUTBUFFER以十六进制或ASCII格式返回指定系统进程ID(SPID)的当前输出缓冲区

DBCCPROCCACHE以报表形式显示有关过程高速缓存的信息

DBCCSHOWCONTIG显示指定的表的数据和索引的碎片信息

DBCCSHOW_STATISTICS显示指定表上的指定目标的当前分布统计信息

DBCCSQLPERF提供有关所有数据库中的事务日志空间使用情况的统计信息

DBCCTRACESTATUS显示跟踪标记的状态

DBCCUSEROPTIONS返回当前连接的活动(设置)的SET选项

验证语句DBCCCHECKALLOC检查指定数据库的磁盘空间分配结构的一致性

DBCCCHECKCATALOG检查指定数据库中的系统表及系统表间的一致性

DBCCCHECKCONSTRAINTS检查指定表上的指定约束或所有约束的完整性

DBCCCHECKDB检查指定数据库中的所有对象的分配和结构完整性

DBCCCHECKFILEGROUP检查指定文件组中的所有表(在当前数据库中)的分配和结构完整性

DBCCCHECKIDENT检查指定表的当前标识值,如有必要,还对标识值进行更正

DBCCCHECKTABLE检查指定表或索引视图的数据、索引及text、ntext和image页的完整性

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1