高可用性—Always On 技术
SQL Server 技术文章
作者: Geoff Allix (内容主管)
技术审查: Michael Raheem
项目编辑:Joanne Hodgins
发布日期:2007年11月
适用产品:SQL Server 2008
摘要:Microsoft® SQL Server® 2008 通过提供各种高可用性解决方案,缩短了业务关键型数据库的停机时间。这些解决方案使用户和企业职员每天24小时、每周7天都可以访问数据,且仍能提供经济有效的高性能。SQL Server 2008 中的 Always On 功能增强了对系统和硬件的保护,减少了计划中或计划外停机的次数和恢复时间,并减少了由于大量用户同时访问同一数据库而导致的冲突。
版权
这是一份预备文档,在本文档中所述软件的最终商业版本发布之前,该文档的内容可能会发生重大变化。
本文档中提供的信息代表了 Microsoft Corporation 当前(软件发布之前)对所讨论问题持有的观点。因为 Microsoft 必须响应不断变化的市场条件,所以其当前的观点不应被解释为是一种承诺,软件发布之后,Microsoft 不能保证现在所提供的所有信息准确无误。
这份白皮书仅供参考。 Microsoft 对本文档中提供的信息不做任何担保、明示、暗示或法律方面的承诺。
用户有责任遵守所有适用的版权法。在版权权利限制下,未经 Microsoft 公司明确的书面许可,本文档的任何内容不能被复制、存储或放进检索系统,或者以任何形式或任何手段(电子、机械、复印、录制或其他)或为达到任何目的进行转换。
Microsoft 对本文涵盖的主题内容可能拥有专利、专利申请、商标、版权或其他知识产权。没有来自 Microsoft 的任何书面许可协议的明确表示,本文不赋予您对这些专利、商标、版权或其他知识产权的任何许可。
除非另有说明,否则本文提及的示例公司、组织、产品、域名、电子邮件地址、徽标、人物、地点和事件皆属虚构,与任何真实的公司、组织、产品、域名、电子邮件地址、徽标、个人、地点或事件无关。
Ó 2007 Microsoft Corporation。保留所有权利。
[NextPage]Microsoft、Windows、Office 和 SQL Server 是 Microsoft Corporation 在美国和/或其他国家/地区的商标或注册商标。
本文中提及的真实的公司名称和产品名称可能是其各自所有者的商标。
目录
简介 1
可用性应用场景 1
提高可用性 2
数据库镜像 2
日志传送 2
故障转移群集 3
地理分散故障转移群集 3
对等复制 3
缩短停机时间 4
快速数据库恢复 4
备份和还原 4
数据页上的校验和 5
在线索引操作 5
在线、段落和页级还原 5
部分数据可用性 6
快照隔离 6
动态配置 6
增强的可管理性 6
数据库快照 6
表和索引分区 7
备份和还原 7
专用管理员连接 7
资源调控器 7
结束语 7
导言
任何应用程序的停机时间都会给企业带来负面影响,导致收入损失、客户满意度下降并损害企业的信誉。许多数据库应用程序,尤其是企业业务应用程序,要求系统停机时间尽可能缩短。系统停机时间的产生有多种原因,如人为失误、自然灾害、硬件或软件故障以及应用程序升级。Microsoft SQL Server 2008 Always On 技术提供了各种选项,可将停机时间降至最低,且保持适当级别的应用程序可用性。
可用性应用场景
对许多业务而言,获得高可用性是一种常见需求。解决方案是否适用于特定的应用场景取决于很多因素,在一种场合下表现最佳的解决方案在另一种场合下不一定是最适合的。例如如下应用场景:
基于 Internet 的运动商品零售商想为其客户提供近似连续的可用性。Web 服务器已加到 Web 场中,但数据库故障会产生错误,这些情形大多数时候会使公司失去客户。该公司已经拥有经核准的标准服务器版本,希望能够避免花费大量资金、更改基础结构或重写应用程序。
猎头公司很关注其用户使用客户数据库时遇到的错误。虽然没有必要立即执行故障恢复,但该公司还是希望拥有一台可以快速在线获得的温备用服务器。
保险公司想为其索赔数据库提供近似连续的可用性。该系统的性能一定不能受到影响,而且当前存储在文件系统中用以支持索赔的文档也必须可用。
管理培训公司有三个站点,每个站点都有一支销售团队。销售团队将各自站点的记录输入 Orders 数据库中。为提高性能,要求每个站点能够在本地服务器上访问公司的所有订单。当出现故障时,为提供可用性,每个站点都必须能够切换到另一个站点的服务器。
会计公司希望在出现故障时(如自然灾害)也能为其客户提供可用性。信息不一定要立即可用,但应该在数小时而不是数天内可供使用。该公司还想每天都保存数据库中的信息,以满足法规要求。拷贝的数据不需要立即可用,但必须在许多年内都可供使用。
玩具制造商想根据销售数据库编制报告,但由于该数据库一直处于使用状态,因此编制报告的过程通常会被当前正在执行的交易打断。该公司希望能够针对未提交的交易编制报告,但这会产生不正确的结果,因为有些交易并不完整。
房地产公司想在用户操作错误时保护系统,希望能够恢复前一天的记录值。该公司还想能够根据前一天的数据编制报告,因为它们不会受到当天交易的影响。在理想情况下,该公司希望实施一种磁盘开销最小的解决方案。
根据各种可用性要求,企业需要一种能为高可用性解决方案提供灵活选项的数据库平台。本白皮书中,可以看到 SQL Server 2008 Always On 技术如何为高可用性提供灵活选项,以使企业能够根据特殊需求实施最佳解决方案。
提高可用性
许多数据库应用程序都是任务关键型的,因此要求停机时间尽可能短,并在发生灾难时能够迅速恢复。SQL Server 2008 提供了各种 Always On 技术,可以使停机时间减至最少及获得适当级别的可用性。
数据库镜像
“Database Mirroring(数据库镜像)”是一种可提高数据库可用性的技术。当主体数据库发生更改时,这些更改也将自动应用到镜像数据库中。当主体服务器发生故障时,客户机应用程序可自动重定向到镜像服务器,而应用程序无需进行任何改动。
可以对 Database Mirroring 进行配置,以对镜像服务器实时应用更改,称为“同步”;或者近乎实时应用更改,称为“异步”,因此可以在系统中指定保护级别和性能开销。
有了 SQL Server 2008 Enterprise Edition 之后,镜像保护就可扩展到数据页。如果发现主体服务器或镜像服务器上的数据页损坏,将从伙伴服务器上检索对应的数据页,而数据操作也会平稳地继续执行。SQL Server 2008 还改善了数据库镜像,它将压缩主体服务器与镜像服务器之间的数据流,而且在手动执行故障恢复时,无需重启数据库。
在基于 Internet 的运动商品公司的案例中,当出现服务器、数据库或页级故障时,Database Mirroring 将提供非常迅速的故障恢复能力。虽然必须购买新服务器,但无需重写应用程序,备用服务器是标准设备,不需要 SQL Server 许可证。
日志传送
“日志传送”是一种高可用性技术,它提供了温备用服务器。备份是在主服务器上执行的,而还原是在一个或多个辅助服务器上执行的。然后,“日志传送”将定期日志备份应用于辅助服务器。虽然数据库镜像只能有一台镜像服务器,但“日志传送”可以有许多辅助服务器,这可以提高保护级别。
“日志传送”是按照时间表执行的,因此在主服务器上的数据更改与这些更改传输到辅助服务器上之间有时间延迟。这种延迟会导致数据损失,但在许多应用场景下,这些延迟可用作还原用户错误的一种方法,因为可以延迟日志数据在辅助服务器上的应用(从而保留辅助服务器上的原始数据)。
为降低主服务器的工作负荷,辅助服务器可用作只读报告服务器,但在应用日志备份时无法运行报告。
在猎头公司的案例中,可利用日志备份与备用服务器执行还原之间的延迟应用“日志传送”。这可以扭转由用户导致的错误情形,因为如果主服务器发生故障,可以直接应用日志以减少数据损失。
故障转移群集
“故障转移群集”是一种 Windows 功能,可对整个服务器提供保护,而不只是保护数据库。多台服务器(称为“节点”)共享磁盘阵列,因此如果一
Copyright ©2018-2023 www.958358.com 粤ICP备19111771号-7 增值电信业务经营许可证 粤B2-20231006