Nathansの提案に従って、SQLプロファイラーを実行し、ニーズに合わせてこれらのクエリを1つにコンパイルしました。
このクエリは、現在のデータベースを含むメンテナンスプランの最新の実行のステータスを提供します。
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)
これは、ウィザードによって生成されたメンテナンスプランで最適に機能します。アドホックプランには、フィルタリング用のコマンドが常に含まれているとは限りません。ただし、テーブルのリンクは引き続き機能します。