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

Откуда:
Сообщений: 14
Добрый день. Есть sql server 2008 R2. Настроен database mail.
Есть Job в котором много шагов. Шаги по сути независимы друг от друга и собирают данные с других баз. Мне нужно получать уведомления на почту, если были проблемы при выполнении, но стандартные способы предлагают уведомления только если сфейлился весь Job. Можно ли как-то обойти это и настроить уведомления о том что Job завершился со статусом warning?
11 июн 14, 14:01    [16154496]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
если в лоб - собирать ручками ошибки в шагах во временную табличку, в завершающем шаге самому это дело анализировать
11 июн 14, 14:09    [16154559]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Glory
Member

Откуда:
Сообщений: 104751
namepunk
Можно ли как-то обойти это и настроить уведомления о том что Job завершился со статусом warning?

Раз уж все шаги назависимы, то сделайте для каждого шага свой независмый джоб.
11 июн 14, 14:12    [16154595]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4823
Glory
namepunk
Можно ли как-то обойти это и настроить уведомления о том что Job завершился со статусом warning?

Раз уж все шаги назависимы, то сделайте для каждого шага свой независмый джоб.


Поймайте профайлером запрос, который выводит информацию о результатах выполнения джобы View History -> см профайлер.

Приведите результаты запроса в нужный вам вид и последним шагом оправьте себе на почту. Или сделайте независимую джобу, которая будет отправлять результаты по расписанию.
11 июн 14, 14:23    [16154672]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2397
namepunk,

создать SSIS пакет, в котором при ошибке отправляется почта.
в качестве шага джоба указывать это пакет
11 июн 14, 14:41    [16154826]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8494
банально
ШАГ1
begin try
   exec сбор_данных_1
end try
begin catch
  exec msdb.dbo.sp_send_dbmail
end catch
11 июн 14, 14:43    [16154856]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
namepunk
Member

Откуда:
Сообщений: 14
Glory
Раз уж все шаги назависимы, то сделайте для каждого шага свой независмый джоб.

Да, это самое простое, но шагов достаточно много и джобов тоже несколько, теряеться удобство управления и зрительно неудобно когда джобов 100500
StarikNavy
namepunk,

создать SSIS пакет, в котором при ошибке отправляется почта.
в качестве шага джоба указывать это пакет

думал про это, но в джобы периодически вносяться изменения, а c SSIS пакетами это не так удобно.

Гадя Петрович
если в лоб - собирать ручками ошибки в шагах во временную табличку, в завершающем шаге самому это дело анализировать

Вот это интереснее, если есть примеры, как результат выполнения шага писать во временную таблицу ткните носом
11 июн 14, 15:36    [16155425]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Гадя Петрович
Member

Откуда: планета Плюк, 215 в тентуре, галактика Кин-дза-дза в Спирали
Сообщений: 52912
namepunk
Вот это интереснее, если есть примеры, как результат выполнения шага писать во временную таблицу ткните носом
16154856
11 июн 14, 15:42    [16155480]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2397
namepunk
думал про это, но в джобы периодически вносяться изменения, а c SSIS пакетами это не так удобно.

в чем неудобство "открыть пакет в студии, внести поправку, сохранить"? ))
11 июн 14, 16:51    [16156068]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Glory
Member

Откуда:
Сообщений: 104751
namepunk
Да, это самое простое, но шагов достаточно много и джобов тоже несколько, теряеться удобство управления и зрительно неудобно когда джобов 100500

Запихнуть независимые задачи в один джоб - это удобство управления ?
Удобнее при ответе на элементарный вопрос "в каком джобе выполняется вот эта задача" окрывать все джобы в поисках оной ?
11 июн 14, 16:55    [16156102]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
namepunk
Member

Откуда:
Сообщений: 14
StarikNavy
в чем неудобство "открыть пакет в студии, внести поправку, сохранить"? ))

даже если пакет лежит на диске 2 лишних действия. Возможно это и удобно, но лично мне не нра
Glory
Запихнуть независимые задачи в один джоб - это удобство управления ?
Удобнее при ответе на элементарный вопрос "в каком джобе выполняется вот эта задача" окрывать все джобы в поисках оной ?

Ну в плане того, что если нужно например задизейблить выполнение или расписание поменять, кроме того все сходные задачи в одном джобе.
Короче говоря последним шагом запускаю job следующего содержания

declare @cur_date varchar(8)
declare @res varchar(10)
set @cur_date = CONVERT(varchar(8),CURRENT_TIMESTAMP,112)
set @res = (
select 
 sum(sql_severity)
From msdb.dbo.sysjobs j 
INNER JOIN msdb.dbo.sysjobhistory h 
 ON j.job_id = h.job_id 
where run_date = @cur_date and name = 'my_job_name')
if @res > 0
begin 
EXEC msdb.dbo.sp_send_dbmail 
end


И он пишет мне письмо если в джобе есть ошибки
11 июн 14, 17:26    [16156276]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Glory
Member

Откуда:
Сообщений: 104751
namepunk
И он пишет мне письмо если в джобе есть ошибки

Все ваши удобства закончатся в тот момент, когда нужно будет для разных независимых задач делать оповещения разным пользователям/группам пользователей
11 июн 14, 17:30    [16156288]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
namepunk
Member

Откуда:
Сообщений: 14
Glory
Все ваши удобства закончатся в тот момент, когда нужно будет для разных независимых задач делать оповещения разным пользователям/группам пользователей

Да. Я четко понимаю что решение далеко не идеально в общем, но вмоем конкретном случае оно работает прекрасно. Всем спасибо за помощь.
11 июн 14, 17:42    [16156341]     Ответить | Цитировать Сообщить модератору
 Re: письма от sql server agent  [new]
Crimean
Member

Откуда:
Сообщений: 13147
вариант, вполне себе рабочий. есть джоб. в нем, к примеру, 3 шага. шаг 1, шаг 2 и шаг 3, для определенности
джоб переделываем так:

"шаг 1". ?ok > 2 ok / er > 2 er

"шаг 2 ok". ?ok > 3 ok / er > 3 er
"шаг 2 er". >> 3 er

"шаг 3 ok". ?ok > exit with ok / er > exit with error
"шаг 3 er". >> exit with error

словами - каждый шаг (кроме первого) прописывается по 2 раза. для переход на него с хорошего и с плохого результата от предыдущего шага. соответственно, пока все хорошо - идем по "хорошей" стороне. как только что-то слетело - идем по "плохой" стороне и выходим из джоба с ошибкой
но у нас всегда выполнятся все шаги этого джоба
а ошибку в логах всегда посмотрим
11 июн 14, 17:46    [16156365]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить