Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Гулин Федор Member Откуда: МИНСК Сообщений: 1296 |
Добрый день всем. 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] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8303 |
Гулин Федор,begin try ... end try begin catch exec sp_send_dbmail ... end catch |
31 июл 19, 14:48 [21938964] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
Иностранцы вот интересную идею предложили: https://stackoverflow.com/questions/3858472/notify-operator-if-any-step-in-job-fails Т.е. последним шагом сделать шаг, который фейлит весь джоб в случае, если хотя бы один из шагов зафейлился (но джоб продолжил выполняться) Соответственно дальше элементарно - нотификация на падение джоба. Для меня открытием стало обращение к токену, возвращающему ID джоба через $(ESCAPE_SQUOTE(JOBID)), удобненько, надо бы запомнить. |
||
31 июл 19, 15:49 [21939044] Ответить | Цитировать Сообщить модератору |
Гулин Федор Member Откуда: МИНСК Сообщений: 1296 |
@Влад да примерно то и хотел писать но вроде вот идей получше @Minamoto, СПАСИБО !!! Отл. идея - попробую заюзать ид я наверно захардкожу - для отладки в ssms или посмотрю как в жобе sqlcmd вызывать - до этого как-то |
31 июл 19, 17:02 [21939136] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |