Situatie
In cazul in care avem un server de sql pe care ruleaza foarte multe joburi, ne este necesar un raport rapid cu joburile care, din diverse motive, au dat eroare.
Pentru aceasta am creat o procedura care poate fi creata pe orice baza a serverului (dar de preferat e o baza de sistem sau una de monitorizare) si, la rulare, afiseaza, in ordine descendenta a datei, toate joburile de sql de pe server care , la rulare, au dat eroare.
Si pt fiecare dintre aceste joburi procedura afiseaza:
– numele jobului
– numele pasului (aferent jobului) in care a fost eroarea (pt ca jobul poate avea mai multi pasi si doar unul sau unii pot da eroare)
– severitatea erorii ( este un cod care pt cei avansati poate fi de ajutor)
– mesajul erorii (ajuta la depanarea ei)
– data rularii jobului
Solutie
create procedure BD_AfisareJoburiCuErori
as
select
j.name,
js.step_name,
jh.sql_severity,
jh.[message],
jh.run_date
FROM
msdb.dbo.sysjobs AS j
JOIN msdb.dbo.sysjobsteps AS js
ON js.job_id = j.job_id
JOIN msdb.dbo.sysjobhistory AS jh
ON jh.job_id = j.job_id
WHERE jh.run_status = 0
ORDER BY run_date desc
Leave A Comment?