

# RDS Custom for SQL Server 多可用区部署的失效转移过程
<a name="custom-sqlserver-multiaz.failover"></a>

如果由于基础设施缺陷而导致数据库实例发生计划内或计划外的中断时，此时如果您已启用多可用区，则 Amazon RDS 会自动切换到另一个可用区中的备用副本。完成失效转移所用的时间取决于在主数据库实例变为不可用时的数据库活动和其他条件。失效转移时间通常为 60 – 120 秒。不过，事务较多或时间较长的恢复过程可能延长故障转移时间。完成失效转移后，RDS 控制台还需要一段时间才能显示新的可用区。

**注意**  
在通过失效转移重启数据库实例时，可以手动强制执行失效转移。有关重启数据库实例的更多信息，请参阅[重启数据库实例](USER_RebootInstance.md)。

Amazon RDS 会自动处理故障转移，因此，您可以尽快恢复数据库操作而无需管理干预。如果出现下表中描述的任一情况，主数据库实例会自动切换到备用副本：您可以在 RDS 事件日志中查看这些失效转移原因。


****  

| 故障转移原因 | 描述 | 
| --- | --- | 
| `The operating system for the RDS Custom for SQL Server Multi-AZ DB instance is being patched in an offline operation` | 在操作系统补丁或安全更新的维护时段内触发了故障切换。有关更多信息，请参阅 [维护数据库实例](USER_UpgradeDBInstance.Maintenance.md)。 | 
| `The primary host of the RDS Custom for SQL Server Multi-AZ DB instance is unhealthy.` | 多可用区数据库实例部署检测到受损的主数据库实例并进行故障转移。 | 
| `The primary host of the RDS Custom for SQL Server Multi-AZ DB instance is unreachable due to loss of network connectivity.` | RDS 监控检测到主数据库实例的网络可达性故障并触发了故障转移。 | 
| `The RDS Custom for SQL Server Multi-AZ DB instance was modified by the customer.` | 数据库实例修改触发了失效转移。有关更多信息，请参阅 [修改 RDS Custom for SQL Server 数据库实例](custom-managing.modify-sqlserver.md)。 | 
| `The storage volume of the primary host of the RDS Custom for SQL Server Multi-AZ DB instance experienced a failure.` | 多可用区数据库实例部署在主数据库实例上检测到存储问题并进行故障转移。 | 
| `The user requested a failover of the RDS Custom for SQL Server Multi-AZ DB instance.` | RDS Custom for SQL Server 多可用区数据库实例已通过失效转移重启。有关更多信息，请参阅 [重启数据库实例](USER_RebootInstance.md)。 | 
| `The RDS Custom for SQL Server Multi-AZ primary DB instance is busy or unresponsive.` | 主数据库实例没有响应。我们建议您尝试以下步骤： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/custom-sqlserver-multiaz.failover.html)  | 

要确定多可用区数据库实例是否发生故障转移，您可以执行以下操作：
+ 将数据库事件订阅设置为在故障转移启动时向您发送电子邮件或 SMS 通知。有关事件的更多信息，请参阅 [使用 Amazon RDS 事件通知](USER_Events.md)。
+ 使用 RDS 控制台或 API 操作查看数据库事件。
+ 使用 RDS 控制台、CLI 或 API 操作查看 RDS Custom for SQL Server 多可用区数据库实例部署的当前状态。

## 使用 RDS Custom for SQL Server 多可用区部署的应用程序的存活时间（TTL）设置
<a name="custom-sqlserver-multiaz.ttldns"></a>

故障转移机制自动更改数据库实例的域名系统 (DNS) 记录，使其指向备用数据库实例。因此，您需要重新建立与数据库实例之间的所有现有连接。确保任何 DNS 缓存存活时间（TTL）配置值都较低，并验证您的应用程序不会长时间缓存 DNS。TTL 值较高可能会阻止应用程序在失效转移后快速重新连接到数据库实例。