您可以运行查询:
EXEC msdb.dbo.sp_help_jobhistory
@job_name = N'MonthlyData'
它会返回一个列run_status。状态有:
0 - Failed
1 - Succeeded
2 - Retry
3 - Canceled
更多信息上MSDN
编辑:您可能要轮询你的工作,并确保它的执行。你可以从sp_help_job过程信息。当这个过程返回的4
状态就意味着工作处于闲置状态。 然后,它的安全检查它的运行状态。
您可以查询使用下面的代码:
DECLARE @job_status INT
SELECT @job_status = current_execution_status FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;','exec msdb.dbo.sp_help_job @job_name = ''NightlyBackups''')
WHILE @job_status <> 4
BEGIN
WAITFOR DELAY '00:00:03'
SELECT @job_status = current_execution_status FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;','exec msdb.dbo.sp_help_job @job_name = ''NightlyBackups''')
END
EXEC msdb.dbo.sp_help_jobhistory
@job_name = N'NightlyBackups' ;
GO
此代码将检查状态,等待3秒,然后重试。一旦我们得到的4个状态,我们知道工作已经完成,它的安全检查工作历史。
你可能想表明你基本上需要进行民意调查,直到有问题的工作达到了“最终状态”。 –
因此,一旦我开始工作,我需要进行民意调查,直到工作完成,然后执行职业史? – DtotheG
@ChristianK你能告诉我们更多关于轮询Job Agent的信息吗? – testing