SQL Server 2008高可用性功能介绍

收集一些关于MS SQL2008的一些权威功能介绍,方便技术查找:


数据库镜像

“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 还引进了冲突检测机制,可以防止多个复制节点更新同一行时产生的偶然冲突。

对等复制可以从本地访问整个订单数据库,如果另一站点的数据库不可用,则每个站点都可以用于故障恢复。


来自官方的功能解释:


  “数据库镜像”是用于提高数据库可用性的主要软件解决方案。镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。注意:不能镜像 mastermsdbtempdb model 数据库。

   数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎服务器实例上。通常,这些服务器实例驻留在不同位置的计算机上。其中一个服务器实例使数据库服务于客户端(“主体服务器”),另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器(“镜像服务器”)。同步数据库镜像会话时,数据库镜像提供热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。未同步会话时,镜像服务器通常用作备用服务器(可能造成数据丢失)。

   1.数据库镜像的优点

   l增强数据保护功能

   l提高数据库的可用性。

   l提高生产数据库在升级期间的可用性。

2.数据库镜像工作方式

在“数据库镜像会话”中,主体服务器和镜像服务器作为“伙伴”进行通信和协作。两个伙伴在会话中扮演互补的角色:“主体角色”和“镜像角色”。在任何给定的时间,都是一个伙伴扮演主体角色,另一个伙伴扮演镜像角色。每个伙伴拥有其当前角色。拥有主体角色的伙伴称为“主体服务器”,其数据库副本为当前的主体数据库。拥有镜像角色的伙伴称为“镜像服务器”,其数据库副本为当前的镜像数据库。如果数据库镜像部署在生产环境中,则主体数据库即为“生产数据库”。

数据库镜像涉及尽快将对主体数据库执行的每项插入、更新和删除操作“重做”到镜像数据库中。重做通过将活动事务日志记录的流发送到镜像服务器来完成,这会尽快将日志记录按顺序应用到镜像数据库中。与逻辑级别执行的复制不同,数据库镜像在物理日志记录级别执行。从 SQL Server 2008 开始,在事务日志记录的流发送到镜像服务器之前,主体服务器会先将其压缩。在所有镜像会话中都会进行这种日志压缩。


Microsoft SQL Server 提供以下类型的复制以用于分布式应用程序:


事务复制:事务复制通常从发布数据库对象和数据的快照开始。创建了初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)便传递给订阅服务器。 数据更改将按照其在发布服务器上发生的顺序和事务边界应用于订阅服务器,因此,在发布内部可以保证事务的一致性。

事务复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务复制:

  • 希望发生增量更改时将其传播到订阅服务器。

  • 从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。

  • 应用程序需要访问中间数据状态。 例如,如果某一行更改了五次,事务复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。

  • 发布服务器有大量的插入、更新和删除活动。

  • 发布服务器或订阅服务器不是 SQL Server 数据库(例如,Oracle)。



合并复制:与事务复制相同,合并复制通常也是从发布数据库对象和数据的快照开始, 并且用触发器跟踪在发布服务器和订阅服务器上所做的后续数据更改和架构修改。订阅服务器在连接到网络时将与发布服务器进行同步,并交换自上次同步以来发布服务器和订阅服务器之间发生更改的所有行。

合并复制通常用于服务器到客户端的环境中。合并复制适用于下列各种情况:

  • 多个订阅服务器可能会在不同时间更新同一数据,并将其更改传播到发布服务器和其他订阅服务器。

  • 订阅服务器需要接收数据,脱机更改数据,并在以后与发布服务器和其他订阅服务器同步更改。

  • 每个订阅服务器都需要不同的数据分区。

  • 可能会发生冲突,并且在冲突发生时,您需要具有检测和解决冲突的能力。

  • 应用程序需要最终的数据更改结果,而不是访问中间数据状态。     例如,如果在订阅服务器与发布服务器进行同步之前,订阅服务器上的行更改了五次,则该行在发布服务器上仅更改一次来反映最终数据更改(也就是第五次更改的值)。

合并复制允许不同站点自主工作,并在以后将更新合并成一个统一的结果。由于更新是在多个节点上进行的,同一数据可能由发布服务器和多个订阅服务器进行了更新。 因此,在合并更新时可能会产生冲突,合并复制提供了多种处理冲突的方法。


快照复制:快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将生成完整的快照并将其发送到订阅服务器。当符合以下一个或多个条件时,使用快照复制本身是最合适的:

  • 很少更改数据。

  • 在一段时间内允许具有相对发布服务器已过时的数据副本。

  • 复制少量数据。

  • 在短期内出现大量更改。


对等事务复制:

对等复制包括对可用性和可管理性进行了下列重要改进:

  • 能够在同步过程中检测冲突。此选项在默认情况下处于启用状态,它允许分发代理检测冲突并在受到影响的节点上停止处理更改。有关详细信息,请参阅 对等复制中的冲突检测 。

  • 能够向复制拓扑中添加节点,而不使拓扑静止。

    在早期版本的 SQL Server 中,可以向拓扑中添加节点并将新节点连接到现有节点。若要将新节点连接到多个现有节点,必须停止拓扑中的所有活动,然后确保将所有待处理的更改传递到所有节点。在 SQL Server 2008 中,不必使拓扑静止即可将新节点连接到任意数量的现有节点。这可以通过使用配置对等拓扑向导或者为 sp_addsubscription 的 @sync_type 参数指定值“init from lsn”来实现。

  • 能够使用配置对等拓扑向导以直观方式配置拓扑。

    该新增配置向导提供了一个拓扑查看器,使用它可以执行常见的配置任务,如添加新节点、删除节点以及在现有节点之间添加新连接。该查看器是对网格的一个重大改进。使用该查看器,可以查看拓扑的确切配置方式,还可以方便地执行各种配置任务。例如,可以将节点 A、B 和 C 配置为全部相互连接,然后将节点 D 配置为仅连接到节点 A 和 B。由于网格要求将所有的节点相互连接,因此您无法针对网格进行这一级别的控制。

复制监视器:

复制监视器包括以下可用性改进:

  • 在大多数复制监视器网格中,现在可以执行如下操作:选择要查看的列;按多个列排序;基于列值筛选网格中的行。

    若要访问此功能,请右键单击网格,然后依次选择“选择要显示的列”“排序”“筛选器”“清除筛选器”。筛选设置是特定于每个网格的。列的选择和排序应用于同一类型的所有网格,如每个发布服务器的发布网格。

  • 发布服务器节点的“公共作业”选项卡已经重命名为“代理”。现在,可以在“代理”选项卡中集中查看与选定发布服务器上的发布关联的所有代理和作业的相关信息。与发布关联的代理和作业包括:

    • 快照代理,用于所有发布。

    • 日志读取器代理,用于所有事务发布。

    • 队列读取器代理,用于为排队更新订阅启用的事务发布。

    • 维护作业,用于所有发布。








你可能感兴趣的:(sql,server,2008高可用性功能介绍)