我使用的是SQL Server 2014。 在我的存储过程中,我需要检查SQL作业是否正在运行。如果没有,那么我需要启动它。 我使用下面的SQL来实现它。并且它一直不能很好地运作。有时它即使没有开始也不会启动工作。
您能否与我分享一些简单明了的方法来实现这一目标?感谢。
IF NOT EXISTS
(
SELECT *
FROM
msdb.dbo.sysjobs_view A
INNER JOIN msdb.dbo.sysjobactivity B ON A.job_id = B.job_id
WHERE
B.run_Requested_date IS NOT NULL
AND B.stop_execution_date IS NULL
AND A.name = 'MyJob'
)
BEGIN
EXEC msdb.dbo.sp_start_job 'MyJob';
END