zoukankan      html  css  js  c++  java
  • sqlserver-查询存储过程最后执行情况

    最近系统进行重构,有大量的存储过程无法判断是否使用,刚好找到了一下sql,可以起到辅助作用,注意只是辅助作用,看下面解释

    sys.dm_exec_procedure_stats,返回缓存存储过程的聚合性能统计信息。 该视图为每个缓存的存储过程计划都返回一行,行的生存期与存储过程保持缓存状态的时间一样长。 在从缓存中删除存储过程时,也将从该视图中删除对应行。所以他只是代表缓存中的执行情况,并不能说明历史以来的情况,不过我觉得影响不到,如果没有缓存,岂不是代表最近从来没有使用过?

    # 第一步
    SELECT database_id, *
    FROM sys.databases
    WHERE database_id > 4;
    #第二步
    SELECT a.name                AS 存储过程名称,
           a.create_date         AS 创建日期,
           a.modify_date         AS 修改日期,
           b.cached_time         AS 缓存时间,
           b.last_execution_time AS 最后执行日期,
           b.execution_count     AS 执行次数
    FROM sys.procedures a
           LEFT JOIN sys.dm_exec_procedure_stats b ON a.object_id = b.object_id AND b.database_id = '替换第一步获取到的id'
    WHERE a.is_ms_shipped = 0
    ORDER BY b.execution_count desc
    

    参考文档

    人的潜力是可以激发的,比如说你给我50斤的砖我可能拎不动,但你要是给我100斤的人民币我肯定拎起来就跑。
  • 相关阅读:
    每周必写
    每周必写
    每周必写
    中国历史上成功的两人合作, 改进, 提高的例子
    每周必写(3)
    结对编程进度及自己的理解
    每周必写
    IT行业的“创新”、“模仿”
    工作时间内容,感想和思考
    周阅读内容
  • 原文地址:https://www.cnblogs.com/mojiruo/p/11121205.html
Copyright © 2011-2022 走看看