通过


实时查询统计

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Microsoft Fabric 中的 SQL 数据库

SQL Server Management Studio提供查看活动查询的实时执行计划的功能。 此实时查询计划提供了对查询执行过程的实时洞察,随着控制流从一个查询计划操作符到另一个操作符。 实时查询计划显示总体查询进度和运算符级运行时执行统计信息,例如生成的行数、已用时间、运算符进度等。

由于无需等待查询完成即可实时访问此数据,因此这些执行统计信息对于调试查询性能问题非常有用。

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

Warning

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

查看一个查询的实时查询统计信息

  1. 若要查看实时查询执行计划,请在工具菜单上选择“ 包括实时查询统计信息 ”图标。

    SQL Server Management Studio 的截图,显示工具栏上的实时查询统计信息按钮。

    还可以通过在 Management Studio 中右键单击所选查询,然后选择 “包括实时查询统计信息”来访问实时查询执行计划。

    来自 SQL Server Management Studio 的屏幕截图,显示弹出菜单上的“实时查询统计信息”按钮。

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

    来自 SQL Server Management Studio 的截图,显示 showplan 中的实时查询统计信息按钮。

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

还可以通过右键单击进程活动开销查询表中的任何查询,从活动监视器访问实时执行计划。

活动监视器中实时查询统计信息按钮的屏幕截图。

Remarks

必须先启用统计概况基础设施,然后实时查询统计才能捕获有关查询进度的信息。 根据版本,开销可能很大。 有关此开销的详细信息,请参阅 查询分析基础结构

Permissions

  • 若要填充 实时查询统计信息 结果页,需要数据库级别 SHOWPLAN 权限以及执行查询所需的任何权限。
  • 在SQL Server,需要服务器级别 VIEW SERVER STATE 权限才能查看实时统计信息。
  • 在 SQL 数据库高级层上,需要 VIEW DATABASE STATE 数据库中的权限才能查看实时统计信息。 在 SQL 数据库标准和基本层上,需要 Server adminMicrosoft Entra admin 帐户才能查看实时统计信息。

Note

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