[轉]Microsoft SQL Server 的各种灾难恢复技术优缺点

时间:2021-12-05 01:18:23

Microsoft SQL Server 的各种灾难恢复技术优缺点

如果发生灾难,本文将讨论从一个 Microsoft SQL Server 数据库中恢复数据的各种解决方案。本文还讨论了优点和缺点的每个解决方案。

灾难恢复是一个可用于帮助恢复信息系统和数据,如果发生灾难的过程。

灾难的一些示例包括一个自然或一个人为灾难 (如一个火灾或一个技术灾难 (如在两个磁盘发生故障,冗余独立磁盘阵列 (RAID) 5 阵列中。

灾难恢复计划是专门用于准备必须发生灾难的响应中的所有操作的工作。 在规划包括帮助有价值的数据恢复策略的所选内容。相应的灾难恢复策略的选择取决于您的业务需求。

注意本 文中讨论的解决方案仅提供,您可以使用该技术的常规说明。这些常规说明不比较各种灾难恢复方法和灾难恢复计划。您决定在哪个灾难恢复解决方案是最适合您, 请先确保在每个建议的灾难恢复解决方案更详细地查看。讨论每个灾难恢复解决方案之后, 此文章包含哪里可以找到有关该解决方案的其他信息的链接。

回到顶端

故障切换群集

Microsoft SQL Server 2000 故障转移群集设计用于故障转移自动发生硬件故障或软件故障。您可以使用 SQL Server 2000 故障转移群集以创建单个 SQL Server 2000 的实例或多个实例的 SQL Server 2000 故障转移群集。故障切换群集允许数据库系统的一个实例的 SQL Server 从发生故障的服务器,以便工作服务器处理会自动切换。因此,或操作系统故障发生时执行的数据库系统资源的计划的升级故障转移群集是很有帮助。此外,故障转 移群集可以提高服务器的可用性,而不需要停机。

由于故障转移群集,专为高度的服务器可用性,几乎没有服务器停机时间,聚集的节点应该地理位置彼此邻近的。故障转移群集可能无法在磁盘阵列发生故障发生的情况下非常有用。

注意若要实现故障转移群集,您必须安装 Microsoft SQL Server 2000 企业版。

下列操作系统支持故障转移群集:

  • Microsoft Windows NT 4.0,企业版
  • Microsoft Windows 2000 高级服务器
  • Microsoft Windows 2000 数据中心服务器
  • Windows Server 2003、 企业版
  • Windows Server 2003、 数据中心版

这些操作系统的系统包括一个可安装组件 Microsoft 群集服务 (MSCS)。若要实现故障转移群集的 SQL Server,您必须安装 MSCS。

有关 MSCS 和其安装的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

259267  (http://support.microsoft.com/kb/259267/ ) Microsoft 群集服务安装资源

优势并使用故障转移群集的缺点

利用

您具有高度的服务器可用性。如果主服务器出现故障时,就会发生故障切换群集自动。

缺点
  • 带来更大的费用。两个服务器的维护是两次维护单个服务器的成本。由于您必须在同一时间维护两个服务器,它是安装和维护群集的节点更昂贵。
  • 服务器应在相同的位置。如果组织的分支机构都在全球范围内,并且必须在分支机构中实现主动/主动群集在网络和存储基础结构所使用的是不同于标准仲裁设备服务器群集。 因此,虽然有可能是最好不使用地理位置上的远程服务器。
  • 您必须对磁盘阵列故障时没有保护。
  • 故障转移群集不允许您在数据库级别上或在表级别等在数据库对象级别创建故障转移群集。

有关故障转移群集的详细信息,请访问下面的 Microsoft 网站:

http://msdn2.microsoft.com/en-us/library/aa174512(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa174512(SQL.80).aspx)

有关故障转移群集的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

243218  (http://support.microsoft.com/kb/243218/ ) Microsoft 群集服务器上的 SQL Server 2000 企业版的安装顺序

822250  (http://support.microsoft.com/kb/822250/ ) 支持网络发布: Microsoft SQL Server 2000 故障转移群集的灾难恢复过程

有关为 SQL Server 故障转移群集 Microsoft 支持策略的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

327518  (http://support.microsoft.com/kb/327518/ ) Microsoft 的支持策略为 SQL Server 故障转移群集的

回到顶端

数据库镜像

数据库镜像是一个主要的软件解决方案来提高数据库的可用性。您只可以实现在每个数据库的基础上镜像。镜像只适用于使用完整恢复模式的数据库。简单和大容量日志记录恢复模型不支持数据库镜像。因此,始终完全记录所有的批量操作。数据库镜像适用于任何受支持的数据库兼容级别。

优势并使用数据库镜像的缺点

优点
  • 数据库镜像会增加数据保护。
  • 数据库镜像会增加数据库的可用性。
  • 数据库镜像在升级过程中提高生产数据库的可用性。
缺点
  • 镜像数据库应与主体数据库完全相同。例如对于所有对象、 登录和权限都应都是完全相同。
  • 数据库镜像在网络上涉及从一台计算机到另一台计算机传输信息。SQL Server 将传输信息的安全性所以非常重要。

回到顶端

对等事务性复制

对等事务性复制是为可能读取或可能会修改任何参与复制的数据库中数据的应用程序而设计的。此外,不可用是数据库宿主的所有服务器是否可以修改应用程序将通信路由到其余的服务器。其余的服务器包含数据的相同的副本。

优势并使用对等事务性复制的缺点

优点
  • 因为您可以在所有节点间传播活动的读取性能得到改进。
  • 聚合更新性能、 插入性能,和删除的拓扑类似于单个节点的性能,因为所有的更改将传播到所有节点的性能。
缺点
  • 对等复制是仅在 SQL Server 2005 企业版中可用。
  • 参与的所有数据库必须都包含相同的架构和数据。
  • 我们建议每个节点使用其自己的分发数据库。该配置消除了可能存在的 SQL Server 2005 具有一个单点故障。
  • 您不能在单个发布数据库中的多个对等发布中包含的表和其他对象。
  • 您必须具有在创建任何订阅之前,为对等复制启用的发布。
  • 通过使用备份或订阅同步类型的值设置为 仅支持复制,必须对订阅进行初始化。
  • 冲突检测或 $ 冲突解决方法,不提供对等事务性复制。
  • 我们建议您不要使用标识列。

回到顶端

维护备用服务器的

您可以创建和维护备用服务器通过使用下列方法之一:

  • 日志传送
  • 事务复制

有关每个这两种方法的详细信息如下。

日志传送

日 志传送资源工具包中包含的 Microsoft SQL Server 7.0,它完全合并和 Microsoft SQL Server 2000 开发版 Microsoft SQL Server 2000 企业版中。日志传送的使用不常规操作过程中使用的备用服务器。备用服务器可用于帮助如果发生灾难恢复数据。在数据库级别上,您可以只使用日志传送。您不能 使用它在实例级别。

备用服务器还原事务日志时, 数据库处于独占模式,它不能使用。但是,您可以运行报告事务日志还原之间的作业的批处理或数据库控制台命令 (DBCC) 进行检查以连续验证备用服务器的完整性。应用程序 (如决策支持服务器需要连续处理上一个数据库服务器,日志传送不是一个适当的选项。

备用服务器上的等待时间是根据事务日志备份在主服务器上的执行频率,然后应用于备用服务器。如果主服务器出现故障时,您可能会丢失所做的最新的事务日志后发生的事务备份所做更改。

例 如对于如果每隔 10 分钟执行事务日志备份,在过程中最新的交易记录 10 分钟的时间可能会丢失。这并不一定意味着数据更新主服务器对延迟时间段内所做的将会丢失。通常,可以是新的更新,主要的事务日志中恢复,并且将应用于备用 服务器与在从主服务器切换到备用服务器仅短暂的延迟。日志传送的主要用途是维护一个热备用服务器。 如果维护备用服务器您的主要目的,日志传送是可能会比这篇文章讨论了在其他解决方案更合适。

使用日志传送的优点和缺点

优点
  • 您可以恢复数据库的所有活动。恢复包括如表和视图创建的任何对象。它还包括安全性更改,例如,新创建的用户和权限的任何更改。
  • 您可以更快地恢复数据库。在还原的数据库和事务日志基于低级别的页面格式。 因此,日志传送加快恢复过程,并导致数据的快速恢复。
缺点
  • 数据库是在还原过程中不可用,因为数据库处于备用服务器上的排它模式。
  • 没有缺少的粒度。还原过程中主服务器的所有更改都应用于备用服务器。若要将更改应用于几个表,并拒绝剩余的修订,您不能使用日志传送。
  • 没有应用程序的无自动故障转移功能。当主服务器出现故障时,由于发生灾难的时备用服务器没有故障转移自动。因此,您必须显式重定向到主服务器 (故障切换) 待机服务器连接的应用程序。

注意如果您的主要目的是维护一个热备用服务器,Microsoft 建议您使用日志传送。热待机服务器反映了在主服务器上发生的所有交易记录。但是,可用主服务器时不能使用备用服务器。

有关如何使用日志传送设置备用服务器的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

323135  (http://support.microsoft.com/kb/323135/ ) Microsoft SQL Server 2000-如何设置日志传送 (白皮书)

325220  (http://support.microsoft.com/kb/325220/ ) 支持网络发布: Microsoft SQL Server 2000 日志传送

有关日志传送的详细信息,请访问以下 Microsoft 网站:

http://msdn2.microsoft.com/en-us/library/aa213785(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa213785(SQL.80).aspx)

http://www.microsoft.com/downloads/details.aspx?familyid=7395ec1b-199f-42bc-a31b-2056adf73f94 (http://www.microsoft.com/downloads/details.aspx?familyid=7395ec1b-199f-42bc-a31b-2056adf73f94)

事务复制

您 还可以使用事务复制维护备用服务器。事务复制将在一台服务器上的将数据复制 (发行商) 到另一台服务器 (订阅服务器),日志传送比减少延迟。您可以实现级将数据库对象 (如表级的事务复制。因此,Microsoft 建议您在具有较少的数据来保护,而且必须有一个快速恢复计划时使用事务复制。

使用强制订阅可以强制实施与主服务器作为发布者的两个服务器和订阅者作为备用服务器之间的事务复制。事务复制可以确保数据复制。当将失败发布者可用于订阅服务器。

在同一时间,此解决方案是易受攻击的发布者和订阅服务器故障。在这种情况下,您不能保护数据。在所有其他方案如分发服务器或订阅服务器的失败,最好重新同步数据的发布者在订阅服务器数据。

您应使用事务复制维护备用服务器仅在您未实现的架构更改或您不实现对数据库的其他更改,如安全更改复制时不支持。

注意复制不是为热待机服务器的维护而设计的。复制,您可以使用复制的数据在订阅服务器上生成的报告。您还可以用于其他常规用途使用复制,而不必在相对较忙的发布服务器上执行处理。

使用事务复制的优点和缺点

优点
  • 应用更改时,您可以读取一个订阅服务器上的数据。
  • 更改将应用与较少滞后时间。

    注意这种优势可能不是如果下列任一情况为真时适用的:
    • 复制代理程序未设置为 连续
    • 由于在复制过程中可能出现的错误,复制代理程序将停止。

事务复制可能会持续较长的时间,以应用更改,因为必须复制期间执行较大的批更新。

缺点
  • 架构更改或执行在发布服务器上建立复制后的安全更改不会在订阅服务器上可用。
  • 在 事务复制中的分发服务器分发数据使用一个开放式数据库连接(ODBC) (ODBC) 连接或 OLE 数据库 (OLEDB) 连接。日志传送但是,使用 RESTORE 事务分发事务日志的低级 TRANSACT-SQL 语句。RESTORE 事务语句是要远远快于 ODBC 连接或一个 OLEDB 连接。
  • 通常,切换服务器会清除复制配置。因此,您必须配置复制两次执行以下操作:

当您切换到订阅服务器。

当您切换回发布者。

  • 如果发生灾难,您必须手动切换的服务器,通过重定向到订阅服务器的所有应用程序。

有关复制的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

195757  (http://support.microsoft.com/kb/195757/ ) 常见问题-SQL Server 7.0 的复制

回到顶端

备份和还原功能

SQL Server 的备份和还原功能提供了一个重要的安全措施来帮助保护存储在 SQL Server 数据库中的关键数据。 可以创建一个数据库 (备份) 的副本,通过使用备份和还原功能,然后将该数据库的副本存储在从运行的 SQL Server 实例的服务器的潜在的故障保护的位置。如果您遇到数据库系统故障或数据库损坏,您可以重新创建数据库或还原数据库,然后使用备份副本。

当通过使用备份计划灾难恢复,并还原功能还确定如何关键数据库中的数据的。 此外,确定还原要求的数据库。例如对于确定以下满足还原要求:

  • 还原到数据库的点。您必须决定哪些以下两个要执行的操作执行以下操作:

将数据库还原到发生故障前晚上的状态。

将数据库还原到某个点的时间的故障时间尽可能地靠近的条件。

  • 数据库可能不可用的时间长短。是否必须立即还原数据库。

确定满足还原要求后,您可以计划一个维护一组符合要求的备份的备份过程

您只可以将数据库还原到的位置,您执行最近的备份的时间点的条件。该备份后发生的事务可能会丢失。因此,Microsoft 建议您仅对关键的数据库应用程序使用的备份和恢复功能。

使用备份和还原功能的优点和缺点

优点
  • 您可以备份到可移动介质以帮助防范磁盘失败数据库。
  • 您不必像在使用故障转移群集或日志传送时依赖于网络上。
缺点
  • 当您备份数据库时, 您不能执行操作 (如表创建、 创建索引、 收缩数据库,或无日志记录操作。
  • 发生故障会您可能会丢失您最新的数据。
  • 如果发生灾难,您必须手动还原数据库。

注意在生产环境中使用您备份和还原过程之前,最好在测试环境中彻底测试此过程。

有关备份和还原功能的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

325257  (http://support.microsoft.com/kb/325257/ ) 支持网络发布: SQL Server 2000 数据库恢复: 备份和还原

281122  (http://support.microsoft.com/kb/281122/ ) 还原文件和文件组备份 SQL Server 中的说明

有关备份和还原功能的详细信息,请访问以下 Microsoft 网站:

http://msdn2.microsoft.com/en-us/library/aa196617(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa196617(SQL.80).aspx)

http://msdn2.microsoft.com/en-us/library/aa196685(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa196685(SQL.80).aspx)

http://msdn2.microsoft.com/en-us/library/aa178143(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa178143(SQL.80).aspx)

回到顶端

通过使用冗余独立磁盘 (RAID) 阵列的数据的磁盘冗余

RAID 存储多个磁盘可以提供更高的可靠性和更少的停机时间的服务器上的冗余数据。RAID 等级 0、 1 和 5 通常用作 SQL Server 的恢复选项。提到了 RAID 技术允许故障和后续替换为单个磁盘的无服务器脱机。如果多个磁盘发生故障发生,数据可能无法恢复。因此,Microsoft 建议您将一个备份和还原过程中以帮助确保如果发生硬件故障不会丢失数据或发生其他灾难的冗余数据管理进行合并。

RAID 0 使用条带化技术以便更快地访问而 RAID 1 使用镜像技术的数据可靠性。一种关系数据库管理中使用的常用技巧涉及一起使用 RAID 0 和 RAID 1。在此的技术中两个相同的条带化的阵列的驱动器,以便存储在两个数组中的信息是相同的不断更新。如果将失败一个阵列其他数组自动接管直到恢复原始数组。

RAID 5 (也称为带奇偶的条带化) 将单个的条带化的磁盘阵列使用与数据一起写入奇偶校验位。当将失败任何一个磁盘奇偶校验位可用于计算丢失的数据,直到您更换磁盘。当您更换磁盘时,您可以 使用奇偶校验信息和剩余的数据,以重新创建故障磁盘中的数据并重新创建的数据复制到新磁盘。所有这些操作发生时不数据库系统停机时间。RAID 提供了许多其他选项以及可以帮助确保您的数据库系统遇到与尽可能少的停机时间的功能。

优势并使用 RAID 的缺点

利用

如果任何一个磁盘发生故障,您不会丢失数据。

缺点
  • 可能需要很长时间才能恢复数据。
  • 如果多个磁盘失败,您可能无法恢复有价值的数据。

有关 RAID 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

100110  (http://support.microsoft.com/kb/100110/ ) 廉价磁盘 (RAID) 冗余阵列的概述