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

Откуда: Екб
Сообщений: 1206
Доброго времени суток.
Джоб пробегается по некоторым объектам (заказам) и выполняет по ним запрос на Оракловом сервере (linked server). Несколько дней как джоб начал падать (вижу в истории Серьезность Sql 16, Идентификатор Sql-сообщения 3621). В своем логе вижу старт выборки, но не вижу ни окончания, ни ошибки. Как я понимаю рвется коннект и блок catch просто не срабатывает. С темиже параметрами и правами из SMS выборка отрабатывает.
Вопрос в том - как правильно обрабатывать такие ситуации? Как получить таки сообщение об ошибке?

Microsoft SQL Server 2008 R2 (SP3) - 10.50.6220.0 (X64) Mar 19 2015 12:32:14 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.3 <X64>
20 июл 15, 15:21    [17913337]     Ответить | Цитировать Сообщить модератору
 Re: Падает джоб. Посоветуйте как правильно ловить ошибку.  [new]
Glory
Member

Откуда:
Сообщений: 104760
denis_viktorovich
Джоб пробегается по некоторым объектам (заказам)

Джоб не может "пробегать по объектам"
Джоб - это перечень шагов с действиями, как то скрипт TSQL, вызов внешней команды и тд.
20 июл 15, 15:28    [17913373]     Ответить | Цитировать Сообщить модератору
 Re: Падает джоб. Посоветуйте как правильно ловить ошибку.  [new]
denis_viktorovich
Member

Откуда: Екб
Сообщений: 1206
Это понятно, в джобе конечно на первом и единственном шаге запускается хранимка, в хранимке из отмеченных в системе объектов формируется список (временная таблица), по ней пробегаем (циклом по полю identity) и формируем и запускаем запрос по каждому объекту
("Select *  FROM OPENQUERY(......"). 
Логируем перед запуском, после, все обернуто в begin try / end try и ошибка логируется также.
Ближе к концу списка происходит нечто, в результате чего не срабатывает блок внутри begin catch / end catch, не логируются окончание запроса и ошибка. Интересно как понять, что именно происходит?
20 июл 15, 16:12    [17913647]     Ответить | Цитировать Сообщить модератору
 Re: Падает джоб. Посоветуйте как правильно ловить ошибку.  [new]
Glory
Member

Откуда:
Сообщений: 104760
denis_viktorovich
Ближе к концу списка происходит нечто, в результате чего не срабатывает блок внутри begin catch / end catch, не логируются окончание запроса и ошибка.


The following types of errors are not handled by a CATCH block when they occur at the same level of execution as the TRY…CATCH construct:

- Compile errors, such as syntax errors, that prevent a batch from running.
- Errors that occur during statement-level recompilation, such as object name resolution errors that occur after compilation because of deferred name resolution.

These errors are returned to the level that ran the batch, stored procedure, or trigger
20 июл 15, 16:18    [17913675]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Падает джоб. Посоветуйте как правильно ловить ошибку.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
Glory, сейчас у себя наблюдают 1 в 1 ситуацию. И опять не понятно как быть, можно как то выяснить, почему хранимая процедура не выполняется, не прибегая к ручному запуску хранимки?
27 ноя 18, 21:41    [21746637]     Ответить | Цитировать Сообщить модератору
 Re: Падает джоб. Посоветуйте как правильно ловить ошибку.  [new]
StarikNavy
Member

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

у джобов есть история (лог) куда пишутся ошибки. если информации в этой истории не достаточно, для понимания ошибки - то ничего кроме ручного разбирательства и/или вставки логирования в саму процедуру, не остается
28 ноя 18, 10:14    [21746903]     Ответить | Цитировать Сообщить модератору
 Re: Падает джоб. Посоветуйте как правильно ловить ошибку.  [new]
Ondayl
Member

Откуда:
Сообщений: 203
StarikNavy, ясно. Спасибо.
28 ноя 18, 12:37    [21747180]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить