Azure SQL 托管实例和可靠性

Azure SQL 托管实例 是一种智能、可缩放的云数据库服务,它将最广泛的 SQL Server 数据库引擎兼容性与完全托管且持续更新的平台即服务的所有优势相结合。

SQL 托管实例中的高可用性体系结构的目标是确保数据库始终在线运行,而不必担心维护操作和中断的影响。 此解决方案旨在:

  • 确保由于故障,提交的数据永远不会丢失。
  • 确保维护故障不会影响工作负荷。
  • 确保数据库不会是软件体系结构中的单一故障点。

有关 Azure SQL 托管实例如何支持应用程序和工作负荷复原的详细信息,请参阅以下文章:

以下部分包括特定于 Azure SQL 托管实例的设计注意事项、配置清单和建议的配置选项,以及可靠性。

设计注意事项

Azure SQL 托管实例包括以下设计注意事项:

  • 定义应用程序性能 SLA,并使用警报对其进行监视。 在应用程序性能无意中降级到可接受的级别以下时快速检测对于保持高复原能力非常重要。 使用监视解决方案设置关键查询性能指标的警报,以便在性能中断 SLA 时采取措施。
  • 发生人为错误后使用时间点还原进行恢复。 时间点还原会将数据库返回到较早的时间点,以便从无意中完成的更改中恢复数据。 有关详细信息,请阅读托管实例的时间点还原 (PITR) 文档。
  • 发生服务中断后使用异地还原进行恢复。 异地还原将数据库从异地冗余备份还原到不同区域中的托管实例。 有关详细信息,请参阅使用异地还原文档恢复数据库
  • 考虑某些操作所需的时间。 请确保预留时间,以全面测试扩展和缩减现有托管实例所需的时间,并创建新的托管实例。 此计时做法可确保您完全了解耗时操作如何影响 RTO 和 RPO。

清单

是否考虑到可靠性配置了 Azure SQL 托管实例?

  • 使用业务关键层。
  • 配置辅助实例和自动故障转移组以启用到另一个区域的故障转移。
  • 实现重试逻辑。
  • 近乎实时地监视 SQL MI 实例,以检测可靠性事件。

配置建议

浏览下表,以优化 Azure SQL 托管实例配置的可靠性:

建议 说明
使用业务关键层。 由于底层 HA 体系结构以及其他许多优势的缘故,此层可提供更高的故障复原能力和更快的故障转移时间。 有关详细信息,请参阅 SQL 托管实例高可用性
配置辅助实例和自动故障转移组以启用到另一个区域的故障转移。 如果服务中断影响托管实例中的一个或多个数据库,则可以手动或自动将实例中的所有数据库都故障转移到次要区域。 有关详细信息,请阅读托管实例的自动故障转移组文档
实现重试逻辑。 尽管 Azure SQL MI 能够抵御间接的基础架构故障,但这些故障仍可能影响连接。 使用 SQL MI 时发生暂时性错误时,请确保代码可以重试调用。 有关详细信息,请参阅如何 实现重试逻辑
近乎实时地监视 SQL MI 实例,以检测可靠性事件。 使用其中一种可用解决方案来监视 SQL MI,以尽早检测潜在的可靠性事件,并使数据库更加可靠。 选择近乎实时的监视解决方案以快速响应事件。 有关详细信息,请查看 Azure SQL 托管实例监视选项

后续步骤