提高SQL Server 2008可用性的办法

来源:岁月联盟 编辑:zhuzhu 时间:2009-04-18

  数据库镜像

  “Database Mirroring(数据库镜像)”是一种可提高数据库可用性的技术。当主体数据库发生更改时,这些更改也将自动应用到镜像数据库中。当主体服务器发生故障时,客户机应用程序可自动重定向到镜像服务器,而应用程序无需进行任何改动。

  可以对 Database Mirroring 进行配置,以对镜像服务器实时应用更改,称为“同步”;或者近乎实时应用更改,称为“异步”,因此可以在系统中指定保护级别和性能开销。

  有了 SQL Server 2008 Enterprise Edition 之后,镜像保护就可扩展到数据页。如果发现主体服务器或镜像服务器上的数据页损坏,将从伙伴服务器上检索对应的数据页,而数据操作也会平稳地继续执行。SQL Server 2008 还改善了数据库镜像,它将压缩主体服务器与镜像服务器之间的数据流,而且在手动执行故障恢复时,无需重启数据库。

  在基于 Internet 的运动商品公司的案例中,当出现服务器、数据库或页级故障时,Database Mirroring 将提供非常迅速的故障恢复能力。虽然必须购买新服务器,但无需重写应用程序,备用服务器是标准设备,不需要 SQL Server 许可证。

  日志传送

  “日志传送”是一种高可用性技术,它提供了温备用服务器。备份是在主服务器上执行的,而还原是在一个或多个辅助服务器上执行的。然后,“日志传送”将定期日志备份应用于辅助服务器。虽然数据库镜像只能有一台镜像服务器,但“日志传送”可以有许多辅助服务器,这可以提高保护级别。

  “日志传送”是按照时间表执行的,因此在主服务器上的数据更改与这些更改传输到辅助服务器上之间有时间延迟。这种延迟会导致数据损失,但在许多应用场景下,这些延迟可用作还原用户错误的一种方法,因为可以延迟日志数据在辅助服务器上的应用(从而保留辅助服务器上的原始数据)。

  为降低主服务器的工作负荷,辅助服务器可用作只读报告服务器,但在应用日志备份时无法运行报告。

  在猎头公司的案例中,可利用日志备份与备用服务器执行还原之间的延迟应用“日志传送”。这可以扭转由用户导致的错误情形,因为如果主服务器发生故障,可以直接应用日志以减少数据损失。

  故障转移群集

  “故障转移群集”是一种 Windows 功能,可对整个服务器提供保护,而不只是保护数据库。多台服务器(称为“节点”)共享磁盘阵列,因此如果一个节点发生故障,则可在集群中的另一个节点上启动它的服务。该解决方案可以防止任何数据损失,并提供自动的客户机重定向服务,但从主服务器到辅助服务器的故障恢复操作没有数据库镜像那样快,而且需要专门的硬件

  Windows Server 2008 扩展了旧版 Windows 的群集功能,它降低了对硬件和基础结构的要求,且在一个群集中支持16个节点。此外,由于不要求所有节点都驻留于同一个子网中并支持 OR 依赖关系(例如,当两个 IP 地址资源中的任何一个可用时,可确保网络名资源也可用),因而强化了群集功能。从总体上讲,在 Windows Server 2008 中可以更容易地设置和管理群集,而引进的群集验证工具有助于确保群集解决方案有足够的硬件资源。通过利用 Windows Server 2008 中的群集增强功能,SQL Server 2008 为整个 SQL Server 实例提供了健壮的高可用性解决方案。SQL Server 2008 还改善了旧版的群集功能,它不要求每个 SQL Server 实例都要有一个盘符,这提高了群集解决方案可以支持的实例数量。

  在保险公司案例中,“故障转移群集”可用于提供近似连续的可用性。“故障转移群集”不会影响系统性能,因为它是一种服务器级解决方案,能够为服务器上的其他资源提供可用性。如果担心共享磁盘阵列不能提供足够的冗余,则可使用“地理分散群集”。

  地理分散故障转移群集

  “地理分散故障转移群集”按照认证的 Microsoft Geographically Dispersed Cluster Services 配置提供服务器级冗余,该配置要求每个站点拥有一个或多个存储阵列。如果站点、服务器节点或磁盘发生故障,系统和磁盘的完整冗余将使故障转移群集能够处理另一站点上的后续活动。该配置可避免共享磁盘阵列发生故障的风险,这将阻止标准群集配置发挥作用。

  对等复制

  “对等复制”使多个数据库能够相互复制。可以对任何数据库执行更改,而且能以接近实时的方式将这些更改应用于复制拓扑中的其他节点。应用程序的设计要求是,如果主体服务器不可用,应用程序必须能够连接拓扑中的其他节点。

  SQL Server 2008 强化了对等复制功能,它可在复制解决方案中增加节点,同时保持复制流程处于在线状态。在旧版的 SQL Server 中,要增加新节点,必须在离线状态下执行复制流程。此外,SQL Server 2008 可以直接利用图形化 Topology Viewer 对对等复制进行设置、监督和管理。SQL Server 2008 还引进了冲突检测机制,可以防止多个复制节点更新同一行时产生的偶然冲突。

  在管理培训公司的案例中,对等复制可以从本地访问整个订单数据库,如果另一站点的数据库不可用,则每个站点都可以用于故障恢复。