你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

查找并应用性能建议

适用于:Azure SQL 数据库

可以使用 Azure 门户查找可优化 Azure SQL 数据库中数据库的性能或纠正在工作负载中识别的某种问题的性能建议。 使用 Azure 门户中的“性能建议”页可以根据建议的潜在影响查找最重要的建议。

查看建议

若要查看和应用性能建议,需要 Azure 中相应的 Azure 基于角色的访问控制 (Azure RBAC) 权限。 查看建议需要“读取者”、“SQL DB 参与者”权限,执行任何操作(如创建或删除索引、取消创建索引)需要“所有者”、“SQL DB 参与者”权限。

在 Azure 门户中使用以下步骤查找性能建议:

  1. 登录到 Azure 门户
  2. 转到“所有服务”“SQL 数据库”,然后选择数据库。
  3. 导航到“性能建议”,查看适用于所选数据库的可用建议。

性能建议会显示在类似于下图所示的表中:

屏幕截图展示了一张表格,其中包含性能建议及其对应的动作和建议说明。

按其对性能的潜在影响将建议分为以下类别:

影响 说明
高影响建议应提供最重要的性能影响。
中型 中等影响建议应提高性能,但提升程度不大。
低影响建议提供的性能比没有时更好,但改进可能不明显。

注意

Azure SQL 数据库至少需要监视一天的活动才能识别某些建议。 Azure SQL 数据库优化一致的查询模式比优化随机的突发活动更加轻松。 如果建议当前不可用,“性能建议”页会提供一条说明原因的消息。

还可以查看历史操作的状态。 选择一条建议或状态即可查看详细信息。

下面是 Azure 门户中“创建索引”建议的示例。

“创建索引”窗格中建议的新索引的屏幕截图。

应用建议

Azure SQL 数据库允许通过以下三个选项之一完全控制建议的启用方式:

  • 一次应用一个建议。
  • 启用自动优化以自动应用建议。
  • 若要手动实施建议,请针对数据库运行建议的 T-SQL 脚本。

选择任何建议以查看其详细信息,然后选择 “查看脚本 ”以查看如何创建建议的确切详细信息。

应用建议时,数据库将保持联机状态 -- 使用性能建议或自动优化不会使数据库脱机。

应用单个建议

可以逐个查看和接受建议。

  1. 在“建议”页上选择某个建议。
  2. 在“ 详细信息 ”页上,选择“ 应用 ”按钮。 所选的建议将在数据库上应用。

从列表中删除建议

如果建议的列表中包含你想要删除的项则可放弃建议:

  1. 选择“建议”列表中的建议打开详细信息。
  2. 在“详细信息”页上选择“放弃”。

可以根据需要将已放弃的项重新添加到“建议”列表中:

  1. 在“建议”页上选择“查看已放弃项”
  2. 从列表中选择一个放弃的项,查看其详细信息。
  3. (可选)选择“撤消放弃”,将索引重新添加到“建议”的主列表。

注意

如果启用了 Azure SQL 数据库 自动数据库优化 ,并且已手动放弃列表中的建议,则永远不会自动应用此类建议。 放弃建议是让用户能够在要求不应用某条特定建议的情况下启用自动优化的方便方法。 可以通过选择“撤消放弃”选项将放弃的建议添加回建议列表来还原此行为。

启用自动优化

可以将数据库设置为自动实施建议。 建议变为可用时,会自动应用。 与该服务所管理的所有建议一样,如果存在负面的性能影响,则会还原建议。

  1. 在 Azure 门户中登录到 Azure SQL 数据库逻辑服务器。

  2. “智能性能”下,在 “建议 ”页上,选择“ 自动化

  3. 选择需要自动化的操作。 选择所需配置后,选择“ 应用”。

    屏幕截图显示了在何处选择要自动执行的操作。

注意

DROP_INDEX选项当前与使用分区切换和索引提示的应用程序不兼容。

通过 T-SQL 手动应用建议

选择任何建议,然后选择 “查看脚本”。 针对数据库运行此脚本以手动应用建议。

手动执行的索引不会监视和验证服务对性能的影响。 创建后监视手动创建的索引,以验证它们是否提供性能提升,并在必要时对其进行调整或删除。 有关创建索引的详细信息,请参阅 CREATE INDEX (Transact-SQL)。 此外,手动应用的建议在系统自动撤消它们之前, 将在 24-48 小时内保持活动状态并显示在建议列表中。 如果你想要更快地删除建议,可以手动放弃它。

取消建议

可以取消处于“待定”、“正在验证”或“成功”状态的建议。 不能取消状态为“正在执行”的建议。

  1. 在“优化历史记录”区域中选择建议,打开“建议详细信息”页。
  2. 选择 “取消” 以中止应用建议的过程。

监视操作

可能不会立刻应用建议。 Azure 门户提供有关建议状态的详细信息。 以下是索引可能处于的状态:

状态 说明
挂起 已经接收应用建议命令并计划执行。
执行 正在应用建议。
正在验证 已成功应用建议,服务正在权衡优势。
成功 已成功应用建议,并且已权衡优势。
错误 在应用建议的过程期间发生了错误。 这可能是暂时性问题,或可能是表的架构更改所致,并且脚本不再有效。
还原 已应用建议,但该建议被认为是非性能的且正在被自动还原。
已还原 已还原建议。

从列表中选择进程内建议以查看详细信息:

显示进程内建议列表的屏幕截图。

撤销推荐

如果使用了性能建议来应用建议(即没有手动运行 T-SQL 脚本),那么性能建议会在发现性能影响为负面时自动还原该更改。 如果因故只想要还原建议,可执行以下操作:

  1. 在“优化历史记录”区域中选择已成功应用的建议。
  2. 建议详细信息页上选择还原

监视索引建议的性能影响

成功实施建议(目前,索引作和参数化查询建议)后,可以在建议详细信息页上选择 Query Insights 以打开 Azure SQL 数据库的 Query Performance Insight ,并查看热门查询的性能影响。