在数据库中计划作业时,必须能够出于各种目的监视其状态。本文解决了与工作状态相关的三个关键问题:
要查看计划将来执行的所有作业的列表,请使用以下查询:
SELECT job.name, job.job_id, job.originating_server, activity.run_requested_date, DATEDIFF(SECOND, activity.run_requested_date, GETDATE()) AS Elapsed FROM msdb.dbo.sysjobs_view job JOIN msdb.dbo.sysjobactivity activity ON job.job_id = activity.job_id WHERE activity.run_requested_date > GETDATE();
要查看当前正在运行的作业的列表,请执行以下查询:
SELECT JOB_ID, NAME, START_TIME, TIME_RUNNING, [STATUS], AGENT_NAME FROM [MSDB].[dbo].[sysjobs] WHERE [STATUS] = 2 AND TIME_RUNNING > 0;
要确定作业是否已成功完成或遇到错误,请使用以下查询:
SELECT RUN_REQUESTED_DATE, RUN_START_DATE, RUN_COMPLETION_DATE, ERROR_MESSAGE FROM [MSDB].[dbo].[sysjobhistory] ORDER BY RUN_REQUESTED_DATE DESC;
RUN_COMPLETION_DATE 字段将指示作业的完成时间,而 ERROR_MESSAGE 字段将指示作业的完成时间将提供执行过程中遇到的任何错误消息。
以上是如何监控 SQL Server 计划作业的状态?的详细内容。更多信息请关注PHP中文网其他相关文章!