假设我有以下场景:在 SQL Server 代理中,有一个每天早上 6 点运行的计划作业,并且每天都运行良好。有一天,服务器在早上 5 点到早上 8 点出现故障,但是当服务器再次启动时,比计划运行的作业晚了 2 小时。
如何检查作业是否应该已经运行并指示某种“错过计划”状态?
方法:运行EXEC MSDB.DBO.SP_GET_COMPOSITE_JOB_INFO @job_id
并检查last_run_time
&是否last_run_time
存在于 中[msdb].[dbo].[sysjobhistory]
,如果不存在则表示作业已安排但未运行。这种方法正确吗?
有什么建议/意见吗?
提前致谢。