@lsmn
2015-07-07T10:00:37.000000Z
字数 666
阅读 2301
微软
SQL
Server
实时查询统计
一个数据库查询超时了,而你并不知道原因。估计查询计划可以揭示问题所在,因此,你彻底地消除了超时。但一个小时后,查询还在运行,而你无法获得真正的执行计划。要是有一种方法可以找出服务器内部实际正在发生的事情就好了。借助SQL Server 2016中的“实时查询统计(Live Query Statistics)”,你现在可以回答那个问题了。
一个数据库查询超时了,而你并不知道原因。估计查询计划可以揭示问题所在,因此,你彻底地消除了超时。但一个小时后,查询还在运行,而你无法获得真正的执行计划。要是有一种方法可以找出服务器内部实际正在发生的事情就好了。
借助SQL Server 2016中的“实时查询统计(Live Query Statistics)”,你现在可以回答那个问题了。这项新特性为DBA提供了一个执行计划的实时版本,对当前正在执行的步骤进行了详细的注解。
统计信息显示方式同在Visual Studio中运行SQL Server集成服务作业时看到的东西类似,但提供了更底层的细节,包括“处理的行数、耗时、操作进展,等等。”下面是一个来自文档的示例:
该特性只对普通表有效;当查询涉及内存优化表或列存储索引时,不能使用。它也不能查看本地编译的存储过程。
该特性默认是不启用的,这可能是因为进展报告会额外增加开销。你可以在会话级别启用它,也可以通过启用“扩充事件(extended event)”query_post_execution_showplan
在服务器层面启用它。