

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 灾难恢复场景
<a name="dr-scenarios"></a>

本节提供单个可用区或 AWS 区域故障的示例，并讨论灾难恢复 (DR) 选项。这些示例假设恢复点目标（RPO）为 15 分钟，恢复时间目标（RTO）为 4 小时。

## 可用区故障
<a name="az-failure"></a>

您可以使用以下选项之一，在给定参数（RPO 为 15 分钟，RTO 为 4 小时）内从单个可用区故障中恢复。
+ 使用最新的 Amazon Elastic Compute Cloud (Amazon EC2) 映像备份配置应用程序恢复，并通过 Always On 可用性组部署或日志传送连接到现有的热备用数据库实例。
  + 具有两个或更多节点的 DR 的 SQL Server Always On 可用性组设置可通过同步提交或异步提交模式自动失效转移到辅助节点，因此数据库立即可用。对于 HA 设置，两个节点都可用于读取操作。此选项可轻松满足 RTO 和 RPO 要求。在 SQL Server 标准版中，也可以选择使用基本可用性组，但仅限于两个节点，因为一个可用性组只能包含一个数据库。但是，您可以在一个区域内或跨区域设置多个可用性组。这种设置可以节省成本，因为辅助节点不会产生额外的成本，因为读取操作无法访问辅助节点。SQL Server 企业版为单个可用性组中的所有数据库提供全部功能和失效转移。有关此选项的示例，请参阅以下架构图：
    + [带有 Always On 可用性组集群的双节点 HA/DR 架构（单区域、多可用区）](architecture.md#two-node-one-region)
    + [三节点 HA/DR 架构（单一区域、多可用区）](architecture.md#three-node-one-region)
    + [带有 Always On 分布式可用性组集群的四节点 HA/DR 架构（多区域、多可用区）](architecture.md#four-node-two-region)
    + [带有单个可用性组的三节点 HA/DR 架构（多区域）](architecture.md#three-node-two-region)
  + SQL Server 日志传送作为灾难恢复解决方案需要手动失效转移到备用服务器，并取决于日志备份的频率。这是最便宜的灾难恢复选项之一。主灾难恢复站点和日志传送的灾难恢复站点的 SQL Server 版本不需要匹配。此选项符合 RPO（每 5 分钟使用事务日志备份）和 RTO，但需要通过手动自定义脚本进行维护。有关此选项的示例，请参阅以下架构图：
    + [带日志传送功能的三节点 HA/DR 架构（多区域）](architecture.md#log-shipping)
+ 如果您的应用程序（例如 SQL Server Reporting Services (SSRS)）应用程序具有扩展部署，则负载均衡器可以将所有流量重定向到辅助节点。
+ 您可以将应用程序和数据库服务器的 Amazon EC2 基本 AMI 用于配置基础设施。可根据数据库的大小和备份频率，在新的可用区内从最近的本地备份（完整备份、差异备份或每 5 分钟一次的事务日志备份）或使用 EBS 快照恢复数据库。此选项符合 RPO 和 RTO 要求，但需要自定义脚本。您还必须考虑配置基础设施所需的时间，而满足 RPO 和 RTO 要求可能具有挑战性。
+ 应用程序和数据库服务器的 Amazon EC2 映像（包括 EBS 卷）都可以在新的可用区中恢复。根据最新的备份，RPO 可能具有挑战性，但可以将此选项与最新的事务日志结合使用以满足要求。此选项支持 Windows 卷影复制服务 (VSS) 快照。

## 区域故障
<a name="region-failure"></a>

您可以使用以下选项之一，在给定参数（RPO 为 15 分钟，RTO 为 4 小时）内从单个 AWS 区域故障中恢复。
+ 您可以为应用程序和数据库服务器使用基于 Amazon EC2 的 Amazon 机器映像 (AMI) 来提供基础设施。可根据数据库的大小和备份频率，在新的区域内从最近的本地备份（完整备份、差异备份或每 5 分钟一次的事务日志备份）恢复数据库。此选项符合 RPO 和 RTO 要求，但需要自定义脚本。
  + SQL Server 日志传送作为灾难恢复解决方案需要手动失效转移到备用服务器，并取决于日志备份的频率。这是最便宜的灾难恢复选项之一。主灾难恢复站点和日志传送的灾难恢复站点的 SQL Server 版本不需要匹配。此选项符合 RPO（通过每 5 分钟使用一次事务日志备份）和 RTO，但需要通过手动自定义脚本进行维护。大型数据库需要很长的恢复时间。
+ 您可以将 Amazon EC2 AMI 用于应用程序和数据库服务器，并将其还原到新区域中的目标。RPO 取决于备份的大小和频率。
  + 可以使用 AMI 恢复最新的应用程序映像。您可以每 5 分钟使用最近的本机差异日志或事务日志备份来更新数据库以满足 RPO 要求。
  + 如果源尚未与目标同步，RTO 取决于将快照传输和恢复到新区域的大小和时间。
+ 停机时间最少的解决方案是使用双节点、三节点或四节点可用性组设置（基本、经典或分布式），恢复应用程序备份映像并在远程区域中配置一个热备用 SQL Server 节点，并在失效转移后连接到备用数据库服务器。同步提交模式副本满足 RPO 要求，而异步提交模式副本可能会延迟，具体取决于事务量。如果需要，您可以使用分布式可用性组配置来横向扩展新区域中的数据库节点。此配置还降低了复杂性，因为它使用两个独立的可用性组，而不是以同步提交或异步提交模式分布在各个区域的单个可用性组，并且可以轻松满足 RTO 和 RPO 要求。或者，也可以选择在标准版中使用 SQL Server 基本可用性组。但是，它有局限性，因为它最多只能支持两个节点，而且尽管支持多个可用性组，但单个可用性组中只能有一个数据库。可以在一个区域内或跨区域设置 SQL Server 标准版。此版本可以节省成本，因为它不对辅助节点收费，因为辅助节点无法进行读取操作。SQL Server 企业版提供全部功能，支持作为单个可用性组失效转移的所有数据库进行失效转移。

## 常见使用案例
<a name="use-cases"></a>

作为规模练习，在 Amazon EC2 上运行的、具有正常在线事务处理 (OLTP) 工作负载的 SQL Server 应用程序中，有 80% 可以根据其重要程度分为三类之一：
+ 带有 SQL Server 备份的 SQL Server HA/DR，使用两个同步提交副本和一个异步提交模式副本
+ 带有 SQL Server 备份的 AWS Backup HA/DR，为应用程序和数据库以及 Amazon EBS 存储使用 Amazon EC2 AMI
+ 带有 SQL Server 备份的 AWS Backup HA/DR，为数据库使用 Amazon EC2 基本 AMI、为应用程序使用 Amazon EC2 映像，以及使用 Amazon EBS 快照

 下表提供了有关每个类别的详细信息。


****  

|   | 带有 SQL Server 备份的 SQL Server HA/DR | 带有 AMI、EBS 存储和 SQL Server 备份的 AWS Backup HA/DR | 带有 AMI、EBS 快照和 SQL Server 备份的 AWS Backup HA/DR  | 
| --- | --- | --- | --- | 
| **发生灾难时的恢复过程** | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/sql-server-ec2-ha-dr/dr-scenarios.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/sql-server-ec2-ha-dr/dr-scenarios.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/sql-server-ec2-ha-dr/dr-scenarios.html) | 
| **主要资源** | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/sql-server-ec2-ha-dr/dr-scenarios.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/sql-server-ec2-ha-dr/dr-scenarios.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/sql-server-ec2-ha-dr/dr-scenarios.html) | 
| **HA/DR** | 提供 HA 和 DR | 仅提供 DR | 仅提供 DR | 
| **RPO** | 失效转移由 SQL Server 可用性组处理（DR 是手动的） | 手动或自定义脚本 | 手动或自定义脚本 | 
| **RTO** | 秒到分钟 | 分钟 – 小时 | 多个小时 | 
| **缺少 SLA 的风险** | 低 | 中 | 高 | 
| **可管理性** | 简便 | 中 | 中 | 
| **扩展** | 简便 | 中 | 中 | 
| **上传到 Amazon S3 或跨区域传输的文件大小限制** | N/A — 在同步提交模式或异步提交模式下处理到热备用 | 支持 | 是 | 
| **数据丢失** | 接近零（取决于配置的工作负载和基础架构） | 取决于 Amazon EC2 备份映像和 SQL Server 备份的频率 | 取决于 Amazon EC2 备份映像或 EBS 快照和 SQL Server 备份的频率 | 
| **成本** | 中 | 中 - 低 | 中 - 低 | 