current_execution_status作业已完成的状态是什么?

时间:2014-01-22 17:41:08

标签: sql sql-server loops execution jobs

我执行

EXEC msdb.dbo.sp_start_job N'myjob'

开始我的工作然后在循环中执行

EXEC msdb.dbo.sp_help_job @job_name =  N'myjob'

然后返回4个表,在第一个表中我拿了

current_execution_status

然后如果这等于

1,2或3我认为这是执行,但如果这与这些值不同我 考虑到这已经完成(也许它失败了或它完成正确,但它已经完成) 然后,这已经完成,我再次开始这个过程 .......

EXEC msdb.dbo.sp_start_job N'myjob'

但过了一段时间(这有效的时间(可变时间)和我得到后

作业myjob已经从用户的请求中运行...

我相信我的错误是current_execution_status考虑价值观(1,2,3) 也许我需要体贴更多的价值观,不是吗? 什么价值观?

有最好的方法吗?或者更简单的方法? 感谢

1 个答案:

答案 0 :(得分:0)

This为您提供值。事实上,我认为如果返回任何值,那么你的工作正在运行。如果您希望这项工作能够持续运行,那么为什么不把它作为工作本身的最后一步呢?