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

Откуда: Israel
Сообщений: 5500
Job запускает ХП в обязанности которой входит заполнение некоторых таблиц.
При этом возможны конфликты с ПК или ФК. Обработчик ошибок в ХП имеется и процедура отрабатывает нормально, но при этом Job статус - failed!
Что можно рпедпринять, чтобы избежать этого явления и сообщения?
7 июн 05, 13:57    [1602826]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Акуличев Дмитрий
Member

Откуда:
Сообщений: 17
Это вопрос эстетики, или что-то принципиальное?
7 июн 05, 14:04    [1602861]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
Акуличев Дмитрий
Это вопрос эстетики, или что-то принципиальное?

В общем, и то и другое!
1. У пользователя возникают вопросы.
2. Хотелось бы знать, как избавиться, если, конечно, возможно.
7 июн 05, 14:11    [1602885]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Заполняйте так, чтобы конфликтов не было. Производите отсев конфликтующих значений - складывайте их куда-нибудь в другие таблицы или вообще выкидывайте или предпринимайте любые действия, которые подходят к вашей задаче.

Пользователей правильно напрягают сообщения о статусе failed. Проблему не замазывать надо, а чинить.
7 июн 05, 14:34    [1602986]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
GreenSunrise
Заполняйте так, чтобы конфликтов не было. Производите отсев конфликтующих значений - складывайте их куда-нибудь в другие таблицы или вообще выкидывайте или предпринимайте любые действия, которые подходят к вашей задаче.

Пользователей правильно напрягают сообщения о статусе failed. Проблему не замазывать надо, а чинить.


Это единственное решение? Или можно как-то подавить определенные сообщения (такие как сообщение о нарушении ключей)? В конечном итоге, для данной базы - это не проблема, дублирующие записи должны быть уничтожены! А конфликт по ФК будет разрешен при следующих проходах.
Если же я начну проверять каждое значение на предемет его законности, то, во-первых, многократно усложню процедуру, во-вторых, замедлю ее.
7 июн 05, 16:00    [1603452]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Glory
Member

Откуда:
Сообщений: 104760
Или можно как-то подавить определенные сообщения (такие как сообщение о нарушении ключей)?
Исключение, сгенерированное сервером, в любом случае отправляется клиенту, коим является SQLAgent. Помешать этому нельзя
7 июн 05, 16:05    [1603478]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
Glory
Или можно как-то подавить определенные сообщения (такие как сообщение о нарушении ключей)?
Исключение, сгенерированное сервером, в любом случае отправляется клиенту, коим является SQLAgent. Помешать этому нельзя


Мне кажется - это не логично! Ведь падения Job-а на самом деле не было, а сообщение при этом появляется?! Может быть, я не верно обрабатываю ошибку?
7 июн 05, 16:31    [1603629]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Glory
Member

Откуда:
Сообщений: 104760
Rivkin Dmitry
Glory
Или можно как-то подавить определенные сообщения (такие как сообщение о нарушении ключей)?
Исключение, сгенерированное сервером, в любом случае отправляется клиенту, коим является SQLAgent. Помешать этому нельзя


Мне кажется - это не логично! Ведь падения Job-а на самом деле не было, а сообщение при этом появляется?! Может быть, я не верно обрабатываю ошибку?

Статус Job-а "рисует" клиентское приложение SQLAgent. На основании того, что из коннекта сервер вернул ему какое-то исключение.
7 июн 05, 16:37    [1603666]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Падение джоба - это выход со статусом failed. Если джоб многошаговый, то вы можете указать поведение джоба в зависимости от статуса окончания каждого шага. В том числе сказать, что при ошибке не вываливаться с ошибкой, а переходить на следующий (или какой вам нужен) шаг.
7 июн 05, 16:40    [1603680]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
GreenSunrise
Падение джоба - это выход со статусом failed. Если джоб многошаговый, то вы можете указать поведение джоба в зависимости от статуса окончания каждого шага. В том числе сказать, что при ошибке не вываливаться с ошибкой, а переходить на следующий (или какой вам нужен) шаг.


А если джоб одношаговый или ошибка происходит на последнем шаге?
7 июн 05, 16:43    [1603699]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Если одношаговый, то опаньки. Статус шага = статус джоба.

Чисто теоретически (проверять лень. хотите - сами проверяйте) можно завести левый шаг, который будет всегда завершаться успехом. Прописать в нем что-нибудь заведомо правильное и короткое. И переход на него в любом случае в конце.

Есть шанс, что это будет воспринято как "статус последнего шага = статус завершения джоба".
7 июн 05, 16:48    [1603733]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
Спасибо - всем!

Я так-же понял, что если определить on failure action = "Quit the job reporting success", то джоб не будет падать и окрашиваться в красный цвет, но при этом можно потерять сообщения о действительном падении. В то же время, то что предлагает GreenSunrise, сообщение об ошибках во время иполнения джоба не исключит, но создаст возможность успешного завершения.
7 июн 05, 17:28    [1603948]     Ответить | Цитировать Сообщить модератору
 Re: Job status  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Гххыыы... Ну скорее "видимость успешного завершения" :-))

Кстати, напишите сюда, если будете проверять с "левым" джобом. Мне интересно, получится или нет.
7 июн 05, 17:30    [1603960]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить