Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нотификация если в жобе шаг но жоб завершился корректно  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1202
Добрый день всем.
SQL 2012.

Есть жоб сборки кубов
там +- 100 шагов.

Если что-то падает - то должно идти дальше.
(чтобы если один куб упал - то другие собрались)

Раз так то жоб завершается с Success

Мне надо нотификацию для себя - что хотя бы один шаг упал (ну или в идеале список шагов что упали. )
а стандартно нотификация только если жоб упал.


Как вытащить инфу из msdb что шаг упал я знаю

SELECT b.name as job , step_name , step_id as s_id
, instance_id as instance
, run_date as run_dat
, iif ( charindex ( 'failed' , message ) != 0 , 'Err' , '') as er1
, retries_attempted cnt_try
, run_duration durat1 -- 334-->3:34
, ((run_duration/10000*3600 + (run_duration/100)%100*60 + run_duration%100 + 31 ) / 60 ) as run_minute
, sql_severity , sql_message_id
, message
, b.* , a.*
FROM msdb.dbo.SYSJOBHISTORY a
join msdb.dbo.sysjobs b
on a.job_id = b.job_id
WHERE
b.name like 'Пересчет кубов %' -- AND run_date = 20140724
and charindex ( 'failed' , message ) != 0 -- Errors
ORDER BY run_date DESC , instance_id DESC , step_id desc


получается надо писать самодельный нотификатор через рассылку по почте
Не хочется велосипед изобретать

1) Может кто идею подкинет
2) а может кто и делал что похожее с рассылокй почты оператору
31 июл 19, 12:36    [21938768]     Ответить | Цитировать Сообщить модератору
 Re: Нотификация если в жобе шаг но жоб завершился корректно  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7396
Гулин Федор,

begin try
...
end try
begin catch
exec sp_send_dbmail ...
end catch
31 июл 19, 14:48    [21938964]     Ответить | Цитировать Сообщить модератору
 Re: Нотификация если в жобе шаг но жоб завершился корректно  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Гулин Федор
1) Может кто идею подкинет
2) а может кто и делал что похожее с рассылокй почты оператору


Иностранцы вот интересную идею предложили:

https://stackoverflow.com/questions/3858472/notify-operator-if-any-step-in-job-fails

Т.е. последним шагом сделать шаг, который фейлит весь джоб в случае, если хотя бы один из шагов зафейлился (но джоб продолжил выполняться)
Соответственно дальше элементарно - нотификация на падение джоба.
Для меня открытием стало обращение к токену, возвращающему ID джоба через $(ESCAPE_SQUOTE(JOBID)), удобненько, надо бы запомнить.
31 июл 19, 15:49    [21939044]     Ответить | Цитировать Сообщить модератору
 Re: Нотификация если в жобе шаг но жоб завершился корректно  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1202
@Влад
да примерно то и хотел писать

но вроде вот идей получше

@Minamoto,

СПАСИБО !!!
Отл. идея - попробую заюзать

ид я наверно захардкожу - для отладки в ssms
или посмотрю как в жобе sqlcmd вызывать - до этого как-то
31 июл 19, 17:02    [21939136]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить