配置高可用性
更新日期: 2005 年 12 月 5 日
本节介绍了几个提高服务器或数据库可用性的 Microsoft SQL Server 2005 高可用性解决方案。高可用性解决方案可减少硬件或软件故障造成的影响,保持应用程序的可用性,尽可能地减少用户所感受到的停机时间。
SQL Server 2005 提供了几个使服务器或数据库具有高可用性的可选方案。高可用性可选方案包括:
故障转移群集
故障转移群集可对整个 SQL Server 实例的高可用性提供支持。故障转移群集由具有两个或多个共享磁盘的一个或多个节点或服务器组成。Microsoft 群集服务 (MSCS) 的群集组(称为“资源组”)中均安装了诸如 SQL Server 和 Notification Services 之类的应用程序。在任何时候,每个资源组都仅属于群集中的一个节点。该应用程序服务具有一个与节点名称无关的虚拟名称,称为故障转移群集实例名称。应用程序可以通过引用故障转移群集实例名称与故障转移群集实例连接。应用程序不必知道哪一节点承载该故障转移群集实例。
SQL Server 故障转移群集实例将像单台计算机一样显示在网络中,不过它具有一种功能,即在当前节点不可用时,可以在节点之间进行故障转移。例如,在发生非磁盘硬件故障、操作系统故障或进行计划的操作系统升级时,可以在故障转移群集的一个节点上配置 SQL Server 实例,使其故障转移到磁盘组中的任意其他节点。
故障转移群集不能防止磁盘故障。您可以使用故障转移群集来减少系统停机时间,提高应用程序可用性。SQL Server 2005 Enterprise Edition 和 Developer Edition 均支持故障转移群集。Standard Edition 也支持故障转移群集,但有一些限制。有关故障转移群集的详细信息,请参阅故障转移群集和安装故障转移群集。数据库镜像
数据库镜像实际上是个软件解决方案,可提供几乎是瞬时的故障转移,以提高数据库的可用性。数据库镜像可以用来维护相应生产数据库(称为“主体数据库**”)的单个备用数据库(或“镜像数据库**”)。
通过还原但不恢复主体数据库的数据库备份可创建镜像数据库。这使客户端不能访问镜像数据库。但是,为了进行报告,可创建镜像数据库的数据库快照来间接地使用镜像数据库。数据库快照为客户端提供了快照创建时对数据库中数据的只读访问。
每个数据库镜像配置都涉及包含主体数据库的“主体服务器**”,并且还涉及包含镜像数据库的镜像服务器。镜像服务器不断地使镜像数据库随主体数据库一起更新。
数据库镜像在高安全性模式下以同步操作运行,或在高性能模式下以异步操作运行。在高性能模式下,事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。在高安全性模式下,已提交的事务将由伙伴双方提交,但会延长事务滞后时间。
数据库镜像的最简单配置仅涉及主体服务器和镜像服务器。在该配置中,如果主体服务器丢失,则该镜像服务器可以用作备用服务器,但可能会造成数据丢失。高安全性模式支持具有自动故障转移功能的备用配置高安全性模式。这种配置涉及到称为“见证服务器**”的第三方服务器实例,它能够使镜像服务器用作热备用服务器。从主体数据库至镜像数据库的故障转移通常要用几秒钟的时间。
数据库镜像伙伴和见证服务器受到 SQL Server 2005 Standard Edition SP1 和更高版本支持,还受到 SQL Server 2005 Enterprise Edition SP1 和更高版本支持。但各伙伴都必须使用相同的版本,只有 SQL Server 2005 Enterprise Edition SP1 及更高版本支持异步数据库镜像(高性能模式)。见证服务器还受到 SQL Server 2005 Workgroup Edition SP1 和更高版本以及 SQL Server 2005 Express Edition SP1 和更高版本支持。有关数据库镜像的详细信息,请参阅Database Mirroring。日志传送
与数据库镜像一样,日志传送是数据库级操作。日志传送可用来维护相应生产数据库(称为“主数据库**”)的一个或多个备用数据库(称为“辅助数据库**”)。通过还原或使用备份但不恢复主数据库的数据库备份创建每个辅助数据库。使用备份还原允许将生成的辅助数据库用于有限的报表用途。
日志传送配置包括一个主服务器(包含主数据库),一个或多个辅助服务器(每个服务器包含一个辅助数据库)和一个监视服务器。每个辅助服务器从主数据库的日志备份以固定的时间间隔更新辅助数据库。日志传送涉及到主服务器创建主数据库日志备份和辅助服务器还原日志备份之间用户可修改的延迟。发生故障转移之前,必须通过手动应用全部未还原的日志备份来完全更新辅助数据库。
日志传送具有支持多个备用数据库的灵活性。如果需要多个备用数据库,可以单独使用日志传送或将其作为数据库镜像的补充。当这些解决方案一起使用时,当前数据库镜像配置的主体数据库同时也是当前日志传送配置的主数据库。
SQL Server 2005 Enterprise Edition、Standard Edition 和 Workgroup Edition 均支持日志传送。有关日志传送的详细信息,请参阅日志传送。复制
复制使用的是发布-订阅模式,即由主服务器(称为发布服务器)向一个或多个辅助服务器或订阅服务器发布数据。复制可在这些服务器间提供实时的可用性和可伸缩性。它支持筛选,以便为订阅服务器提供数据子集,同时还支持分区更新。订阅服务器处于联机状态,并且可用于报告或其他功能,而无需进行查询恢复。SQL Server 提供三种复制类型:快照复制、事务复制以及合并复制。事务复制的滞后时间最短,在要求高可用性的情况下最常用。有关详细信息,请参阅改善伸缩性和可用性。
SQL Server 2005 的所有版本都支持复制。SQL Server 2005 Express Edition 或 SQL Server Compact Edition 不提供复制发布。有关每个版本支持的复制功能完整列表,请参阅 SQL Server 2005 的各种版本所支持的功能。重要提示:
完善地设计与实施备份和还原策略对任何高可用性解决方案都十分重要。有关详细信息,请参阅在 SQL Server 中备份和还原数据库和备份和还原复制的数据库。
选择高可用性解决方案
下面列举了选择高可用性解决方案的注意事项:
- 故障转移群集和数据库镜像都提供以下功能:
- 自动检测和故障转移
- 手动故障转移
- 透明客户端重定向
故障转移群集具有下列限制: - 需要在服务器实例范围内进行操作
- 需要签名的硬件
- 备用部分不具有报告功能
- 利用数据库的单个副本
- 不能防止磁盘故障
数据库镜像具有下列优势: - 需要在数据库作用范围内操作。
- 使用数据库单一、重复的副本
注意:
如果需要其他副本,则除了数据库镜像之外,还可以使用数据库的日志传送功能。 - 使用标准服务器
- 只能使用数据库快照对镜像服务器进行有限的报告。
- 同步操作时,为了提供零工作丢失,将在主体数据库上延迟提交。
数据库镜像所带来的可用性等级比以前使用 SQL Server 所能达到的可用性等级有了大幅提升,并提供了一种易于管理的故障转移群集替代方案。
注意:
有关在故障转移群集中如何使用数据库镜像的信息,请参阅数据库镜像和故障转移群集。有关在故障转移群集中如何使用 Notification Services 的信息,请参阅在 Notification Services 中使用故障转移群集。有关在数据库镜像中如何使用 Notification Services 的信息,请参阅在 Notification Services 中使用日志传送或数据库镜像。 - 日志传送
日志传送可以用于补充或替代数据库镜像。虽然异步数据库镜像与日志传送在概念上很相似,但它们仍有很大差异。日志传送具有下列独特的功能:- 针对单个主数据库在多个服务器实例上支持多个辅助数据库。
- 允许用户将延迟时间定义为:从主服务器备份主数据库日志到辅助服务器必须还原日志备份之间的时间。例如,如果主数据库上的数据被意外更改,则较长的延迟会很有用。如果很快发现意外更改,则通过延迟,您可以在辅助数据库反映此更改之前从其中检索仍未更改的数据。
与日志传送将更改反映到辅助数据库所需的最短时间相比,异步数据库镜像具有的潜在优势为:在主数据库中进行指定更改与此更改反映到镜像数据库之间的时间更短。
数据库镜像相对于日志传送的优势是:它是一种高安全性模式,是作为简单故障转移策略而支持的“无数据丢失”配置。注意:
有关如何结合使用日志传送和数据库镜像的信息,请参阅数据库镜像和日志传送。有关通过 Notification Services 如何使用日志传送的信息,请参阅在 Notification Services 中使用日志传送或数据库镜像。
- 复制
复制具有下列优势:- 由于在数据库作用范围中进行操作,因此允许在数据库中进行筛选,以便为辅助数据库提供数据子集。
- 支持多个冗余数据库副本
- 支持在多个数据库间实现实时的可用性和可伸缩性,支持分区更新
- 支持辅助数据库对报告或其他功能的完全可用性,而无需查询恢复。
注意:
有关如何结合使用数据库镜像和复制的信息,请参阅复制和数据库镜像。
本节内容
主题 | 说明 |
---|---|
介绍共享具有两个或两个以上硬盘的节点(服务器)组合。 |
|
包含有关数据库镜像工作原理以及如何配置和管理数据库镜像会话的信息。 |
|
介绍日志传送如何工作以及如何配置和管理日志传送配置。 |
请参阅
其他资源
安装 SQL Server 2005 的硬件和软件要求
SQL Server 2005 的各种版本所支持的功能
SQL Server 复制