sqlserver+mysql时间_SQLServer:如何查看sql 的最后执行时间

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!!!!!!!!!!!!!!!!!!!!!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值