SQL Server Management Studio 版本 17.2 及更高版本包括性能仪表板。 此仪表板旨在直观地深入了解 SQL Server 和 Azure SQL 托管实例的性能状态。
性能仪表板有助于快速识别 SQL Server 或 Azure SQL 数据库是否遇到性能瓶颈。 如果发现瓶颈,请轻松捕获可能需要解决该问题的额外诊断数据。 性能仪表板可帮助识别的一些常见性能问题包括:
- CPU 瓶颈(以及哪些查询正占用最多的 CPU)
- I/O 瓶颈(以及哪些查询正执行最多的 I/O)
- 查询优化器生成的索引建议(缺失索引)
- 阻塞
- 资源争用(包括闩锁争用)
性能仪表板还有助于识别可能以前执行的昂贵查询,并且可以使用多个指标来定义高成本:CPU、逻辑写入、逻辑读取、持续时间、物理读取和 CLR 时间。
性能仪表板分为以下各部分和子报表:
系统 CPU 使用率
当前等待请求
当前活动
- 用户请求
- 用户会话
- 缓存命中率
历史信息
- 等待
- 闩锁
- I/O 统计信息
- 耗费大量资源的查询
其他信息
- 活动跟踪
- 活动 XEvent 会话
- 数据库
- 缺失索引
注意
在内部,性能仪表板使用 执行相关的动态管理视图和函数、 索引相关的动态管理视图和函数,以及 与 I/O 相关的动态管理视图和函数相关的动态管理视图 (DMV)和函数(DMF)。
查看性能仪表板
若要查看性能仪表板,请在对象资源管理器中右键单击 SQL Server 实例名称,选择 “报表”、“ 标准报表”,然后选择“ 性能仪表板”。
性能仪表板显示为新选项卡。下面是一个明显存在 CPU 瓶颈的示例:
注解
“缺失索引”报表显示查询编译期间查询优化程序识别的可能缺少的索引。 但是,不应在面值上提出这些建议。 Microsoft建议评估评分大于 100,000 的索引进行创建,因为这些索引对用户查询的预期改进最高。
提示
始终评估新索引建议是否与同一表中的现有索引相当,只需更改现有索引而不是创建新索引即可实现相同的实际结果。 例如,给定针对列 C1的新建议索引, C2 并且 C3首先评估是否存在针对列 C1 的现有索引和 C2。 如果是这样,则最好将列 C3 添加到现有索引(保留预先存在的列的顺序),以避免创建新索引。 有关详细信息,请参阅 SQL Server 以及 Azure SQL 索引体系结构和设计指南。
“等待”报表可筛选出所有空闲和睡眠的等待。 有关等待的详细信息,请参阅 sys.dm_os_wait_stats 和 SQL Server 2005 使用等待和队列优化性能。
SQL Server 重启时耗费大量资源的查询报表将重置,因为基础 DMV 中的数据已被清除。 在 SQL Server 2016(13.x)及更高版本中,可以在查询存储中找到有关昂贵查询的详细信息。
注意
虽然 SQL Server Management Studio 报表呈现器不支持剪贴板访问报表中包含的文本,但可以通过独立报表访问文本。 如果需要从报表复制查询文本,请下载独立报表。
权限
SQL Server 需要 VIEW SERVER STATE 和 ALTER TRACE 权限。
Azure SQL 托管实例需要 VIEW DATABASE STATE 数据库中的权限。