配置和监视可用性
了解所有可能性后,你需要为 Azure SQL 数据库或 Azure SQL 托管实例所属的特定工作负载创建策略。
做出正确的选择
创建策略的重点在于回顾并考虑工作负载的需求。 下面是一些需要考虑的问题:
- 是否需要长期备份? 或者备份时间 1-35 天够长吗?
- 你的 RTO 和 RPO 需求是什么?
- 根据 SLA,哪些服务层级最有意义?
- 是否需要可用性区域?
- 是否需要异地复制的 HADR 或故障转移组?
- 应用程序是否就绪?
对这些问题的回答将帮助缩小为满足可用性要求而应部署的配置范围。
数据专业人员通常会忽略最后一个问题:应用程序是否准备就绪?这一考虑对于实现你想要的 SLA 至关重要。
你需要同时确保数据库和应用程序都能够满足可用性要求。 此外,你需要确保数据和应用程序之间的连接满足要求。 例如,如果应用程序和数据库位于不同区域,网络延迟会增大。 请尽可能地将应用程序和数据放在一起。 通过学习本模块,你还了解了在应用程序中实现重试逻辑对保持可用性的重要性。
监视可用性
Azure SQL 提供了多种工具和功能来监视可用性的某些特性。 这些工具包括 Azure 门户、T-SQL 和接口(例如 PowerShell、az CLI 和 REST API)。
以下各节介绍使用这些工具监视可用性的一些示例。
区域和数据中心可用性
区域和数据中心的可用性对托管实例或数据库部署的可用性至关重要。 Azure 状态和 Azure 服务运行状况是了解数据中心或区域(包括 Azure SQL 等特定服务)的任何中断的关键。
Azure 状态是一个仪表板,其中显示在任何 Azure 全局区域中导致问题的任何服务。 可以使用 RSS 源获取有关对 Azure 状态的更改的通知。
可以查看 Azure 门户中的 Azure 服务运行状况。 Azure 服务运行状况提供有关服务问题、计划内维护事件、运行状况公告和运行状况历史记录的信息。 还可以设置警报,通过电子邮件或 SMS 获取有关可能会对可用性造成影响的任何事件的通知。
实例、服务器和数据库可用性
除 Azure 服务事件以外,你还可以在 Azure 门户中查看 Azure SQL 托管实例或 Azure SQL 数据库的可用性。
若要查看托管实例或数据库不可用的可能原因,其中一种方法是使用 Azure 门户或 REST API 检查资源运行状况。
你可以随时使用 SQL Server Management Studio (SSMS) 等标准 SQL Server 工具连接到托管实例或数据库服务器,然后检查这些资源的状态。 你可以使用该工具或 T-SQL 查询。
Azure CLI 等接口可以显示 Azure SQL 的状态。 例如:
az sql mi list
列出托管实例的状态。az sql db list
列出 Azure SQL 数据库的状态。
你还可以使用 PowerShell 命令确定 Azure SQL 数据库的可用性。 例如:
Get-AzSQLDatabase
获取服务器上的所有数据库及其状态等详细信息。- REST API(尽管使用起来麻烦)可用于获取托管实例和数据库的状态。
备份和还原历史记录
Azure SQL 自动备份数据库和事务日志。 标准备份历史记录不可用,但可以使用 Azure 门户或 CLI 接口查看长期备份保留历史记录。 此外,在 Azure SQL 托管实例中,还可以使用 XEvents 跟踪备份历史记录。
使用时间点还原的任何数据库还原都会创建一个新的数据库。 可以使用 Azure 活动日志查看创建数据库的操作。
副本状态
副本用于业务关键服务层级。 可以使用 DMV sys.dm_database_replica_states 查看副本的状态。
故障转移原因
若要确定 Azure SQL 托管实例或数据库部署出现故障转移事件的原因,请使用 Azure 门户或 REST API 查看资源运行状况。
适用于 Azure SQL 的 System Center 管理包
System Center 提供管理包来监视 Azure SQL 托管实例和 Azure SQL 数据库。 有关要求和详细信息,请参阅管理包文档。