如果是2008之前,用log exploer应该可以找到个大概,不过可能不会很精确,2008的话应该没办法了

解决方案 »

  1.   

    如果是SQL2008环境,
    可以查sys.dm_exec_procedure_stats的last_execution_time(最后执行时间)字段.use [数据库名]select last_execution_time '最近一次执行时间'
     from sys.dm_exec_procedure_stats
     where type='P' 
     and database_id=db_id('[数据库名]')
     and object_id=object_id('[存储过程名]')
      

  2.   

    楼主看看这里  http://blog.itpub.net/25175503/viewspace-704874/
      

  3.   

    感谢6楼和7楼。再问下6楼,若要查询某一存储过程的执行日志记录,是否可以查到?sys.dm_exec_procedure_stats中查到的是最近一次的状态,没有最近一天(一天可能多次)
      

  4.   

    SQL本身没有这个功能,如果有保存了完整日志并有工具能解析日志的话(2008以前可以用log explorer)可以通过解析日志的方式尝试查到。
    如果是新版本,你就只有两种选择:要么不开发,只能查到最新一次执行时间;要么修改存储过程,用语句和表记录运行时间。