SQL Server 2016 实时查询统计(Live Query Statistics)

SQL Server 2016 实时查询统计(Live Query Statistics)


当我们遇到查询超时的时候,会通过预估执行计划分析问题所在,然后做相应的调优。但有时,查询还在运行,而你无法获得实际的执行计划。如果有办法能知道实例内部发生了什么就好了。


SQL Server 2016的实时查询统计(Live Query Statistics),提供了查看一个实时查询的实时执行计划,对当前正在执行的步骤进行了详细的注解。实时查询执行计划显示了整体查询过程,并提供了操作级别的运行时执行统计信息,包括处理的行数、耗时、操作进展等等。这些数据都是实时可用的,而不用等到查询执行完成,这些执行统计信息对于性能问题调优极其有用。


适应版本

该功能从SQL Server 2016 CTP 3.0开始可用,现已在SQL Server 2014 SP1中加入该功能。


适应对象

该特性只对普通表有效;当查询涉及内存优化表或列存储索引时,不能使用。它也不能查看本地编译的存储过程。


警告

该功能主要用于定位问题,使用该功能可能稍微降低整体的查询性能。


显示实时查询统计

显示实时查询执行计划,在工具菜单栏点击“Live Query Statistics”按钮。

clip_image002


你也可以在SQL Server Management Studio中右击选择的查询,然后选择“Include Live Query Statics”来查看实时查询执行计划。

clip_image004


现在执行查询。实时查询执行计划显示了整体的查询过程和运行时执行统计信息(例如耗时、进展等)。查询进展信息和执行统计信息在查询执行的过程中定期更新。使用该信息理解整体查询执行进展和调优慢查询、导致tempdb移除的查询、超时问题。

clip_image006


动态执行计划也可以从“Activity Monitor”中,通过在“Active Expensive Queries”表右击查询语句来访问。

clip_image008


如何启用该特性?

该特性默认是不启用的,这可能是因为进展报告会额外增加开销。统计跟踪架构必须在实时查询统计捕获查询进展信息前启用。你可以在当前当前的查询会话中,通过在SQL Server Management Studio中选择“Include Live Query Statistics”启用统计跟踪架构。还有两种方式可以启用统计跟踪架构,可以用于在其他会话中(例如从Activity Monitor)查看实时查询统计。

1. 在目标会话,执行:

SET STATISTICS XML ON;

或者

SET STATISTICS PROFILE ON;

2. 启用扩展事件query_post_execution_showplan。这是一个服务端的设置,用于在所有会话启用实时查询统计。


许可

生成“Live Query Statistics”结果页需要数据库级别的“SHOWPLAN”权限,查看实时统计需要实例级别的“VIEW SERVER STATE”和执行查询的必要权限。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值