Как получить описание ошибки при сбое задания?

Я создал задание в агенте SQL Server (SQL Server Management Studio 2012), которое выполняет серию сценариев Transact-SQL. Я также настроил одно уведомление для отправки электронного письма «в случае сбоя задания».

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


person davide.ferrari    schedule 08.04.2015    source источник
comment
@Sai Это совсем не стоящее редактирование, поэтому, пожалуйста, прекратите делать такие вещи в будущем. Пост был таким же читабельным до того, как вы добавили обратные кавычки, чтобы превратить вещи, которые определенно не являются кодом, в блоки кода.   -  person Anthony Grist    schedule 08.04.2015
comment
@AnthonyGrist, я согласен, что это неправильный клик. Поэтому я исправил это.   -  person Sai Kalyan Kumar Akshinthala    schedule 08.04.2015
comment
можно ли внести ваш sql-скрипт в одну хранимую процедуру, тогда вы можете использовать try/catch и внутри catch записать ошибку в временную таблицу.   -  person aads    schedule 08.04.2015
comment
Вы проводили какие-либо исследования? в Интернете есть много скриптов, которые сделают это за вас.   -  person Nick.McDermaid    schedule 08.04.2015
comment
Я надеялся, что в уместности работы есть какой-то метод. Тем не менее, я буду применять скрипт в хранимых процедурах. Спасибо вообще.   -  person davide.ferrari    schedule 08.04.2015


Ответы (1)


Помимо очень очевидного предложения от Nack.McDermaid в комментариях к вопросу, вы можете сделать следующее: оберните отдельные части ваших процессов

BEGIN TRY
--your code
END TRY
BEGIN CATCH
INSERT log_table (some_col)
SELECT ERROR_MESSAGE()
END CATCH

Или что-то вдоль этих линий. Просто найдите некоторые из отличных руководств по регистрации здесь, на SO или где-либо еще.

person Tristan    schedule 08.04.2015