对于企业级用户和关键系统来说,最重要的要求之一就是系统的高度可用性和数据的安全性(High Availability and Disaster Recovery,HADR)。我们先来了解一下HADR的问题空间。HADR有两个目标和衡量方式:
- 保证系统可用
目标恢复时间(Recovery Time Objective,RTO):出了故障后把系统恢复正常工作状态所需要的时间。 - 保证数据安全
目标恢复点(Recovery Point Objective,RPO):系统数据能恢复到故障前的哪个时间点。换而言之,故障后你能容忍多少数据损失。
故障又主要有两大类别:
- 计划宕机时间
- 硬件升级
- 软件补丁(操作系统,应用程序),应用程序升级
- 维护操作
- 意外宕机时间
- 无法预料的故障
- 硬件故障,软件故障,电力中断,数据损坏
- 站点故障:火灾,地震,洪水
- 用户或应用程序错误
- 意外更改,不正确的数据操作
- 无法预料的故障
针对不同的可用性要求和故障类别,SQL Server提供多样的HADR技术来满足用户的需要。但怎样从中选择最合适的技术?下面是对SQL可用性技术和功能的一个概览:
- 意外宕机时间
- SAN/RAID
- 备份和恢复(Back Up and Restore)
- 日志传送(Log Shipping)
- 数据库镜像(Database Mirroring)
- 故障转移群集(Clustering)复制(Replication)
- 计划宕机时间
- 轮流升级和打补丁(Upgrade and Patching)
- 在线操作(Online Operations)
- 资源管理器(Resource Governor)
- 数据库快照(Database Snapshot)
这些技术都有自己的特点和要求,用户可根据自已需求,配置,和预算来选择,以满足HADR在目标恢复时间(RTO)和目标恢复点(RPO)的要求。
希望您能通过本文对SQL HADR技术有个大致了解,以后我们会再详细介绍其中的一些技术,谢谢。
SQL Engine部门经理
吴家震