实时查询统计信息

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Microsoft Fabric SQL 数据库

SQL Server Management Studio 能够查看活动查询的实时执行计划。 此实时查询计划作为控制流,能够实时了解从一个查询计划操作员到另一个操作员的查询执行过程。 实时查询计划显示总体查询进度和操作员级运行时执行统计信息(例如处理的行数、经过的时间、操作员进度等)。由于此数据是实时可用的,无需等待完成查询,因此这些执行统计信息对于调试查询性能问题非常有用。 此功能从 SQL Server 2016 (13.x) Management Studio 开始可用,但它也可以与 SQL Server 2014 (12.x) 一起使用。

注意

在内部,实时查询统计信息利用 sys.dm_exec_query_profiles DMV。

适用于:SQL Server(从 SQL Server 2014 (12.x) 开始)和 Azure SQL 数据库

警告

此功能主要用于故障排除。 使用此功能会明显降低整体查询性能,尤其是在 SQL Server 2014 (12.x) 中。 有关详细信息,请参阅查询分析基础结构
此功能可与 Transact-SQL 调试器配合使用。

查看某查询的实时查询统计信息

  1. 若要查看实时查询执行计划,请在工具菜单上单击“添加实时查询统计信息”图标

    工具栏上的“实时查询统计信息”按钮

    还可以查看实时查询执行计划,方法是在 Management Studio 中右键单击所选查询,然后单击“包含实时查询统计信息”

    弹出菜单上的“实时查询统计信息”按钮

  2. 现在执行查询。 实时查询计划显示查询计划操作员的总体查询进度和运行时执行统计信息(例如,经过的时间、进度等)。 查询进度信息和执行统计信息会在查询执行的同时定期更新。 使用此信息可了解整个查询执行过程,以及调试长时间运行的查询、无限期运行的查询、导致 tempdb 溢出和超时问题的查询。

    显示计划中的“实时查询统计信息”按钮

查看任何查询的实时查询统计信息

此外,可以通过右键单击“进程”表或“活动的耗费大量资源的查询”表中的任何查询,从活动监视器中访问实时执行计划

活动监视器中的“实时查询统计信息”按钮

注解

必须启用统计信息配置文件基础结构,实时查询统计信息才能捕获查询进度的相关信息。 开销有可能较大,具体取决于使用的版本。 有关此开销的详细信息,请参阅查询分析基础结构

权限

需要数据库级别 SHOWPLAN 权限才能填充“实时查询统计信息”结果页,还需要执行查询所需的所有权限。 在 SQL Server 上,需要服务器级别 VIEW SERVER STATE 权限才能查看实时统计信息。
对于 SQL 数据库 Premium 层,需要数据库的 VIEW DATABASE STATE 权限才能查看实时统计信息。 在 SQL 数据库标准层和基本层上,需要“服务器管理员”或“Microsoft Entra 管理员”帐户才能查看实时统计信息。

注意

Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。

另请参阅

执行计划
查询处理体系结构指南
监视和优化性能
性能监视和优化工具
打开活动监视器 (SQL Server Management Studio)
活动监视器
相关视图、函数和过程
sys.dm_exec_query_statistics_xml
sys.dm_exec_query_profiles
跟踪标志
Showplan 逻辑运算符和物理运算符参考
查询分析基础结构