2015-05-11 4 views
0

Я надеялся, что смогу получить некоторую помощь о том, как настроить оповещение по электронной почте для конкретного задания агента, чтобы он отправил оповещение по электронной почте, когда продолжительность работы превышает 30 минут.SQL Agent Job runtime alert

Было бы проще добавить этот шаг в саму работу? Есть ли доступные методы в GUI агента SQL или мне нужно создать новое задание? Я полагал, что создание нового задания менее вероятно, так как мне придется запрашивать sysjobhistory в msdb; Значение обновляется только после завершения задания, так что это не помогает ... Мне нужно, чтобы он проверял продолжительность реального времени в 1 конкретном задании агента, поскольку он работает ... В частности, потому что происходит то, что задание запускается в тупик (Это уже не проблема), поэтому работа просто остается на столе, на котором она заблокирована, и я получаю уведомление от конечного пользователя о том, что отчет не возвращает результаты: S

ответ

0

Лучший способ за пределами Программное обеспечение для мониторинга сторонних разработчиков - это создание высокочастотного SQL Agent Job, которое запускает запрос на активные сеансы (возвращаемые чем-то вроде sp_who) на время spids. Таким образом, вы можете получить эту работу по мониторингу электронной почтой, когда spid перейдет через порог. В качестве альтернативы вы можете сравнить его текущую среду выполнения с вычисленным средним временем выполнения, полученным из таблицы sys.jobhistory.

+0

Хм, я понимаю, что вы имеете в виду, но это не SPID, просто случайно созданное число, присвоенное задаче? Другими словами, SPID для задания будет иметь разные SPID для каждого запуска ...? – samalkobi

+0

Правильно, почему это проблема? Используя комбинацию Sysjobs в msdb и sysprocesses, вы сможете определить, что spid основано на названии работы. –

+0

О, ладно, я понял это сейчас! Огромное спасибо! – samalkobi

Смежные вопросы