

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

# 数据库镜像
<a name="ec2-db-mirroring"></a>

数据库镜像采用 EC2 实例上的数据库，并在单独的数据库实例上提供该数据库的完整或几乎完整的只读副本（镜像）。Amazon RDS 使用数据库镜像为 Amazon RDS for SQL Server 提供多可用区支持。此功能提高了数据库的可用性和保护，并提供了一种在升级过程中保持数据库可用的机制。

**注意**  
根据 [Microsoft 文档](https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/database-mirroring-sql-server)，数据库镜像将在 SQL Server 的未来版本中删除。应计划改用 Always On 可用性组。

在数据库镜像中，SQL Server 可以担任以下三个角色之一：
+ 主体服务器，它承载数据库的主 read/write 版本。
+ 镜像服务器，用于承载主体数据库的副本。
+ 可选的见证服务器。此服务器仅在高安全性模式下可用。它监视数据库镜像的状态，并自动执行从主数据库到镜像数据库的故障转移。

在主体服务器和镜像服务器之间建立镜像会话。在镜像期间，在主体数据库中执行的所有数据库更改也会在镜像数据库上执行。数据库镜像可以是同步操作，也可以是异步操作。这是由两种镜像操作模式决定的：高安全模式和高性能模式。
+ **高安全模式：**此模式使用同步操作。在此模式下，数据库镜像会话会尽快将插入、更新和删除操作从主体数据库同步到镜像数据库。一旦数据库同步，事务就会在主体数据库和镜像数据库中提交。当镜像数据库位于相同或不同的可用区中，但托管在同一 AWS 区域中时，我们建议您使用此操作模式。
+ **高性能模式：**此模式使用异步操作。在此模式下，数据库镜像会话将插入、更新和删除操作从主体数据库同步到镜像数据库，但主体数据库提交事务的时间与镜像数据库提交事务的时间之间可能存在滞后。当镜像数据库位于不同的 AWS 区域时，我们建议您使用此模式。

在以下情况下使用数据库镜像：
+ 您有严格的 RTO 和 RPO 要求，并且主数据库和辅助数据库之间不能有延迟。数据库镜像提供 0 秒的 RPO（使用同步提交）和几秒到几分钟的 RTO。
+ 您不需要从辅助数据库读取数据。
+ 您希望在同步模式下配置见证服务器时执行自动故障转移。
+ 您无法使用首选选项 Always On 可用性组。

限制：
+ 仅支持 one-to-one故障转移。您不能让多个数据库目标与主数据库同步。

有关镜像的更多信息，请参阅 [Microsoft SQL Server 文档](https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/database-mirroring-sql-server)。