【发布时间】:2012-10-10 07:57:25
【问题描述】:
获取 SQL Server 中当前正在运行的作业的持续时间。
exec msdb..sp_help_job @execution_status = 1
exec xp_sqlagent_enum_jobs 1, garbage
这些存储过程只返回“last_run_time”,这是作业最后一次运行。
【问题讨论】:
-
从上次运行开始,您无法计算出持续时间?
datediff(minute,<when it ran>,getdate()) -
实际上它给了我们“何时运行”=上次成功运行的时间而不是当前运行的时间!
-
好吧我没用过
xp_sqlagent_enum_jobs。我一般直接去msdb..sysjobhistory -
是的
msdb..sysjobhistory也只提供上次运行时间的先前作业。正如其名称显示的作业历史。 -
你确定你试过了吗? msdn.microsoft.com/en-us/library/aa260416(v=sql.80).aspx那里有“进行中”的状态
标签: sql sql-server-2008-r2 jobs