MS SCOM を使用して、ms sql エージェント ジョブの結果を監視しています。
現在、ジョブのいずれかのステップが失敗するとエラーが発生します。
開発者は、それは間違っており、いくつかのステップが機能していなくても、ジョブ全体が失敗した場合にのみアラートを受け取るべきだと言っています
Ok
エラーになる 1 ステップのテスト ジョブを作成します。
仕事と結果を見つけましょう:
SELECT
j.name,
j.job_id,
jh.step_id,
jh.step_name,
jh.run_status,
CASE jh.run_status
WHEN 0 THEN 'Failed'
WHEN 1 THEN 'Succeeded'
WHEN 2 THEN 'Retry'
WHEN 3 THEN 'Canceled'
WHEN 4 THEN 'Running'
ELSE 'Unknown'
END AS run_statusstring,
j.enabled,
jh.message,
msdb.dbo.agent_datetime(
CASE WHEN jh.run_date = 0 THEN NULL ELSE jh.run_date END,
CASE WHEN jh.run_time = 0 THEN NULL ELSE jh.run_time END) AS last_runtime
FROM msdb.dbo.sysjobhistory jh
INNER JOIN (
SELECT DISTINCT jh.job_id, MAX(jh.instance_id) instance_id
FROM msdb.dbo.sysjobhistory jh
WHERE jh.step_id != 0
GROUP BY jh.job_id
) AS a
ON jh.job_id = a.job_id
AND a.instance_id = jh.instance_id
INNER JOIN msdb.dbo.sysjobs AS j
ON jh.job_id = j.job_id
とにかく run_status=0 (失敗)
なんで?私は DBA ではありませんが、ロジックはどこにあるのでしょうか? 「仕事をやめる..」が機能しないのはなぜですか?