本文介绍了几个提高服务器或数据库可用性的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 Standard Edition和Enterprise Edition中完全支持数据库镜像,但是故障转移伙伴必须使用相同的版本。SQL Server Workgroup Edition或Express Edition 上运行的服务器实例仅支持见证服务器角色。有关数据库镜像的信息,请参阅数据库镜像。
日志传送
与数据库镜像一样,日志传送是数据库级操作。日志传送可用来维护相应生产数据库(称为“主数据库”)的一个或多个备用数据库(称为“辅助数据库”)。通过还原或使用备份但不恢复主数据库的数据库备份创建每个辅助数据库。使用备份还原允许将生成的辅助数据库用于有限的报表用途。
日志传送配置包括一个主服务器(包含主数据库),一个或多个辅助服务器(每个服务器包含一个辅助数据库)和一个监视服务器。每个辅助服务器从主数据库的日志备份以固定的时间间隔更新辅助数据库。日志传送涉及到主服务器创建主数据库日志备份和辅助服务器还原日志备份之间用户可修改的延迟。发生故障转移之前,必须通过手动应用全部未还原的日志备份来完全更新辅助数据库。
日志传送具有支持多个备用数据库的灵活性。如果需要多个备用数据库,可以单独使用日志传送或将其作为数据库镜像的补充。当这些解决方案一起使用时,当前数据库镜像配置的主体数据库同时也是当前日志传送配置的主数据库。
SQL Server 2005 Enterprise Edition、Standard Edition和Workgroup Edition均支持日志传送。有关日志传送的详细信息,请参阅日志传送。
复制
复制使用的是发布-订阅模式,即由主服务器(称为发布服务器)向一个或多个辅助服务器或订阅服务器发布数据。复制可在这些服务器间提供实时的可用性和可伸缩性。它支持筛选,以便为订阅服务器提供数据子集,同时还支持分区更新。订阅服务器处于在线状态,并且可用于报告或其他功能,而无需进行查询恢复。SQL Server 提供三种复制类型:快照复制、事务性复制以及合并复制。事务性复制的滞后时间最短,在要求高可用性的情况下最常用。有关详细信息,请参阅改善伸缩性和可用性。
SQL Server 2005的所有版本都支持复制。SQL Server 2005 Express Edition或SQL Server 2005 Compact选择高可用性解决方案
下面列举了选择高可用性解决方案的注意事项:
- 故障转移群集和数据库镜像都提供以下功能:
- 自动检测和故障转移
- 手动故障转移
- 透明客户端重定向
- 故障转移群集具有下列限制:
- 需要在服务器实例范围内进行操作
- 硬件需经过认证
- 备用部分不具有报告功能
- 利用数据库的单个副本
- 不能防止磁盘故障
数据库镜像具有下列优势:
- 需要在数据库作用范围内操作。
- 使用数据库单一、重复的副本
注意:如果需要其他副本,则除了数据库镜像之外,还可以使用数据库的日志传送功能。
使用标准服务器
只能使用数据库快照对镜像服务器进行有限的报告。
同步操作时,为了提供零工作丢失,将在主体数据库上延迟提交。
数据库镜像所带来的可用性等级比以前使用SQL Server所能达到的可用性等级有了大幅提升,并提供了故障转移群集这一易于管理的可选方案。
注意:有关在故障转移群集中使用数据库镜像的信息,请参阅数据库镜像和故障转移群集。有关在故障转移群集中使用Notification Services的信息,请参阅在 Notification Services中使用故障转移群集。有关在数据库镜像中使用Notification Services的信息,请参阅在Notification Services中使用日志传送或数据库镜像。
日志传送
日志传送可以用于补充或替代数据库镜像。虽然异步数据库镜像与日志传送在概念上很相似,但它们仍有很大差异。日志传送具有下列独特的功能:
针对单个主数据库在多个服务器实例上支持多个辅助数据库。
允许用户将延迟时间定义为:从主服务器备份主数据库日志到辅助服务器必须还原日志备份之间的时间。例如,如果主数据库上的数据被意外更改,则较长的延迟会很有用。如果很快发现意外更改,则通过延迟,您可以在辅助数据库反映此更改之前从其中检索仍未更改的数据。
与日志传送将更改反映到辅助数据库所需的最短时间相比,异步数据库镜像具有的潜在优势为:在主数据库中进行指定更改与此更改反映到镜像数据库之间的时间更短。
数据库镜像相对于日志传送的优势是:它是一种高安全性模式,作为简单故障转移策略受支持的“无数据丢失”配置。
注意: 有关结合使用日志传送和数据库镜像的信息,请参阅数据库镜像和日志传送。有关在Notification Services中使用日志传送的信息,请参阅在Notification Services 中使用日志传送或数据库镜像。
复制
复制具有下列优势:
由于在数据库作用范围中进行操作,因此允许在数据库中进行筛选,以便为辅助数据库提供数据子集。
支持多个冗余数据库副本
支持在多个数据库间实现实时的可用性和可伸缩性,支持分区更新
支持辅助数据库对报告或其他功能的完全可用性,而无需查询恢复。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
SQL Server 2005支持服务结束 升级何去何从
SQL Server 2005的支持就要结束了,就在2016年4月12日,SQL Server 2005的客户们应该升级了。
-
SQL Server 2005即将终止服务 你准备好了么?
2016年4月12日,微软将正式终止SQL Server 2005相关服务。微软正在终止扩展支持,这意味着不再有新特性更新,什么都没了。
-
技术大牛谈CAP认识偏差与选择假象
关于CAP原理的讨论很多,而且通常会在分布式系统中产生误解。它规定:任何连网和分享数据的系统最多可以保证以下三个属性的两个:一致性、可用性和分区容错性。