在資料庫中規劃作業時,必須能夠出於各種目的監視其狀態。本文解決了與工作狀態相關的三個關鍵問題:
要查看計劃將來執行的所有作業的列表,請使用以下查詢:
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中文網其他相關文章!