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

Откуда:
Сообщений: 5
Нужна помощь, есть вот такой вот скрипт:
IF
(select last_run_outcome from msdb.dbo.sysjobsteps) = 0
Begin
Exec msdb.dbo.sp_send_dbmail
@profile_name = 'Job Alert',
@recipients = 'email@email.com',
@body = N'Testing job',
@subject = N'Error',
@query = 'select j.name,
js.step_id,
js.step_name,
last_run_outcome = case when js.last_run_outcome = 0 then ''Failed''
when js.last_run_outcome = 1 then ''Succeeded''
when js.last_run_outcome = 2 then ''Retry''
when js.last_run_outcome = 3 then ''Canceled''
else ''Unknown''
end,
last_run_datetime = msdb.dbo.agent_datetime(
case when js.last_run_date = 0 then NULL else js.last_run_date end,
case when js.last_run_time = 0 then NULL else js.last_run_time end)
from msdb.dbo.sysjobs j
inner join msdb.dbo.sysjobsteps js
on j.job_id = js.job_id',
@attach_query_result_as_file = 1 ;
End;

Но он выдает ошибку: 'Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.'
Помогите понять что не так и что нужно поправить, что бы он заработал корректно. Спасибо!
4 фев 16, 15:11    [18773047]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт на отправку письма, если произошла ошибка в отработке джоба.  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
Aniona
(select last_run_outcome from msdb.dbo.sysjobsteps) = 0


помедитируйте над этим
4 фев 16, 15:13    [18773054]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт на отправку письма, если произошла ошибка в отработке джоба.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Aniona
Помогите понять что не так и что нужно поправить, что бы он заработал корректно. Спасибо!

Начните с поиска Subquery в своем скрипте
Потому проверьте, сколько же value он returned.
Если more than 1, то это неправильно
4 фев 16, 15:15    [18773070]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт на отправку письма, если произошла ошибка в отработке джоба.  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
небольшой намёк

select COUNT(*) from msdb.dbo.sysjobsteps
4 фев 16, 15:18    [18773085]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт на отправку письма, если произошла ошибка в отработке джоба.  [new]
Glory
Member

Откуда:
Сообщений: 104751
Если в джобе произошла ошибка, то в самом джобе для оповещения об этом есть специальная закладка.
4 фев 16, 15:21    [18773104]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт на отправку письма, если произошла ошибка в отработке джоба.  [new]
Aniona
Member

Откуда:
Сообщений: 5
Спасибо огромное.

Рассылка на ерроры и так настроена, но не на все джобы. Это как подстраховка.
4 фев 16, 15:24    [18773123]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт на отправку письма, если произошла ошибка в отработке джоба.  [new]
wizli
Member

Откуда: Minsk
Сообщений: 270
Aniona,
Так настройте на все, зачем добавлять еще проверку, чтобы приходило по 10-ть писем о том, что джоб упал?
4 фев 16, 15:25    [18773128]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить