【发布时间】:2020-07-22 12:21:39
【问题描述】:
如果仍在运行,我需要监控维护计划,我找到了一个旧帖子(感谢 Don SQL Server Maintenance plan history check for success or failure)来查询日志并获取作业结果,但这仅给出完成后的结果:
SELECT
mp.name AS [MTX Plan Name],
msp.subplan_name AS [Sub Plan Name],
mpl.start_time AS [JobStart],
mpl.end_time AS [JobEnd],
mpl.succeeded AS [JobSucceeded]
FROM
msdb.dbo.sysmaintplan_plans mp
INNER JOIN msdb.dbo.sysmaintplan_subplans msp ON mp.id = msp.plan_id
INNER JOIN msdb.dbo.sysmaintplan_log mpl ON msp.subplan_id = mpl.subplan_id
AND mpl.task_detail_id = -- Get the most recent run for this database
(SELECT TOP 1 ld.task_detail_id
FROM msdb.dbo.sysmaintplan_logdetail ld
WHERE ld.command LIKE ('%['+db_name()+']%')
ORDER BY ld.start_time DESC)
【问题讨论】:
-
在sql-agent作业中,如果查看具体的任务历史,会显示当前未完成的作业,如果有的话。
-
我知道,但我需要通过监控工具(在我的情况下为 PRTG)自动检查该查询。
标签: sql sql-server prtg