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

Надо периодически (раз в день) сканить таблицу. Если какая-то строка удовлетворяет определенным условиям (осталась неделя до указанной в строке даты, например), то просигнализировать об этом.

MSSQL 2000.

Насколько я понимаю, нужно написать JOB. И при его "неудачном" исходе оповестить оператора типовым алертом. Вопрос - как в тексте JOBa инициировать "неудачный исход"?

А какой механизм надо использовать, чтобы в тексте оповещения была инфа по конкретной проблемной записи?

С интересом, Коваленко Евгений.
27 июл 04, 18:08    [839837]     Ответить | Цитировать Сообщить модератору
 Re: Как оператору о появлении критичной инфы в таблицах?  [new]
Чайник же
Guest
С удовольствием приму ссылку на статью на данную тему.
27 июл 04, 18:09    [839839]     Ответить | Цитировать Сообщить модератору
 Re: Как оператору о появлении критичной инфы в таблицах?  [new]
Не совсем уже чайник :)
Guest
Если сделать в JOB'e RAISERROR, то сообщение оператору поступает. Осталась проблема, как подготовить текст этого сообщения... :(
27 июл 04, 18:32    [839904]     Ответить | Цитировать Сообщить модератору
 Re: Как оператору о появлении критичной инфы в таблицах?  [new]
Kinhspre
Member

Откуда: Moscow
Сообщений: 50
Непонятно с какой целью сигнализировать.

Если юзера базы, то лучше отчет создать для него.

Интересно, а если записей, удовлетворяющих необходимым условиям будет штук >=100 ... ?
27 июл 04, 18:50    [839936]     Ответить | Цитировать Сообщить модератору
 Re: Как оператору о появлении критичной инфы в таблицах?  [new]
Угу, согласен
Guest
Да в общем, верно. Для полной инфы лучше отчет, а чтобы отчет не забыл глянуть - достаточно сообщения о том, что джоб отработал "неудачно".

Правильно использовать RAISERROR в данном случае или есть более политкорректные методы?
27 июл 04, 18:55    [839946]     Ответить | Цитировать Сообщить модератору
 Re: Как оператору о появлении критичной инфы в таблицах?  [new]
Kinhspre
Member

Откуда: Moscow
Сообщений: 50
Если еще мучаетесь, то могу предложить следующее:

Создать таблицу, например My_tbl_flag с полем flag, которое будет содержать одну запись со значением 0 или 1.

Создать Ваш любимый JOB с нужным рассписанием, который при условии My_tbl_flag.flag = 1, для примера, в первом шаге не бедет делать ничего и не будет допускать выполнения второго шага.
При My_tbl_flag.flag = 0 проверяет Вашу таблицу на наличие нужных строк и при успешном обнаружении устанавливает My_tbl_flag.flag в 1 и разрешает выполнять шаг 2 JOBа.

В шаге 2
Можете делать все что угодно, в том числе и net_send по сети нужному юзеру,
или запускать какую-либо програму с сервера, передавая параметры в командной строке и т.д.

Главное, что бы у JOB owner стоял SA и SQL Server был стартован под логином имеющем соответствующие права.

При выполнении юзером отчета
My_tbl_flag.flag устанавливается в 0.

Дальнейшие тонкости с повторным отображением одних и тех же событий и т.п. предлагаю решать Вам
28 июл 04, 11:21    [841305]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить