加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer:如何查看sql 的最后执行时间

发布时间:2020-12-12 13:37:14 所属栏目:MsSql教程 来源:网络整理
导读:? ? SQLServer??:如何查看sql的最后执行时间?? ? ?这个问题当时我使我郁闷了下?,不知道怎么查看sql?的最后执行时间?,后来在?在一个技术交流群里的到了高大侠的指点?,才恍然大悟。 ? 在SQLServer中有一个sys.dm_exec_query_stats?这个DMV(动态视图),该视

?

?

SQLServer??:如何查看sql的最后执行时间??

?

?这个问题当时我使我郁闷了下?,不知道怎么查看sql?的最后执行时间?,后来在?在一个技术交流群里的到了高大侠的指点?,才恍然大悟。

?

在SQLServer中有一个sys.dm_exec_query_stats?这个DMV(动态视图),该视图中记录了缓存中所有查询计划的统计信息,每一个查询计划在该视图中对应一条相关信息。

该视图字段的的具体相关信息可以参考SQLServer的帮助文档。

?

以下就是查询sql语句最后执行时间了。

select Q.[text],Q.last_execution_time from(
select B.[text],last_execution_time,ROW_NUMBER() over(partition by cast(B.[text] as varchar)
order by last_execution_time desc) num from sys.dm_exec_query_stats A
cross apply fn_get_sql(plan_handle) B) Q
where num=1

?

当然这个可以根据需要?,查找特定的sql之后执行时间的,?加一个模糊查询就ok了。

?

其实这种方法也有很大的缺陷!

?

前面说过?,sys.dm_exec_query_stats?这个Dmv是?记录了查询计划相关统计信息,当查询计划由于内存或是机器重启,或是执行了?dbcc?dropcleanbuffers?,dbcc?freeproccache?

操作后,内存中执行计划就会被删除,查询计划就会在

sys.dm_exec_query_stats?对应的记录就会被删除,这时使用这个Dmv就不能查到相关的记录了。

?

所以刚才的方法并不能查到所有的执行过的sql的最后执行时间!

?

over!!!!!!!!!!!!!!!!!!!!!!!!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读