检查sql作业是否正在运行

时间:2017-03-10 20:35:00

标签: sql sql-server tsql

我有调用sql作业的存储过程,但如果2个用户同时调用存储过程,则作业失败,所以这就是我想要做的事情:

  1. 检查sql作业是否先运行
  2. 仅在第一次通话结束时执行第二次通话。
  3. 我已经看到一些例子,你可以看出作业是否正在运行,但似乎无法发现第二个呼叫处于保持状态,只有在第一个呼叫完成时才会执行。

    DECLARE @job_name NVARCHAR(MAX) = 'mySQLJob'
    EXEC msdb.dbo.sp_start_job @job_name = @mySQLJob
    

    我得到的错误就像"工作已经在运行"

1 个答案:

答案 0 :(得分:0)

sp_help_job可以为您提供此信息

{{1}}

current_execution_status值   - 1执行   - 2等待线程   - 3次重试之间   - 4空闲   - 5暂停   - 6已过时   - 7 PerformingCompletionActions