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

Откуда:
Сообщений: 1494
На табличке в которую вставляются данные (три раза в месяц) висит триггер, который отправляет почту на определенные адреса.
Список таких адресов зависит от того что вставлено:


WHILE (@i) <> 0
BEGIN

set @email = (SELECT .....) /* выборка адресатов, в зависимости от вставленных данных */
EXEC msdb.dbo.sp_send_dbmail

@profile_name = 'Serv',
@recipients = @email,
@body = ...(итд..)

set @i = @i - 1
END


Иногда почта просто не приходит и всё..Такое чувство что "забивается" пул сообщений.
Есть сомнения что такой подход неправильный - вешать триггер отправляющий почту на рабочую табличку...
Так кто-нибудь вобще делал? Посоветоваться кроме вас, пока нескем)
28 май 13, 11:04    [14357822]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Santa89
Иногда почта просто не приходит и всё..Такое чувство что "забивается" пул сообщений.

Используйте логи - будете знать, а не чувствовать.
Причем и лог sql сервера и лог почтового сервера

Santa89
Есть сомнения что такой подход неправильный - вешать триггер отправляющий почту на рабочую табличку...

Технически такой подход корректен.
Но он увеличивает время выполнения триггера, а значит и время выполнения всей команды пользователя

Santa89
Так кто-нибудь вобще делал? Посоветоваться кроме вас, пока нескем)

У записей делатается какая -то отметка.
Регулярный процесс в другом коннекте проверяет наличие записей и отсылает оповещения.
28 май 13, 11:09    [14357861]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Santa89
Есть сомнения что такой подход неправильный - вешать триггер отправляющий почту на рабочую табличку...

Прочь сомнения, так и есть — подход неправильный
Реализовать можно, например, при помощи Service Broker. Или при помощи джоба. Или...
28 май 13, 11:10    [14357864]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
Glory - действительно, в логах иногда проскальзывали сообщения типа "Время ожидания истекло" и "Сбой при отправке",
но к сожалению сейчас у всех сеть тупит, поэтому пока сложно протестировать, на днях обещали починить.

Гость - job вряд ли пойдёт. Изменения на таблице делаются не так часто (4-3 раза в месяц) - а оповещение о том что таблица изменилась должны быть своевременные (не больше часа). С ServiceBroker'ом не работал-почитаю.
28 май 13, 11:15    [14357900]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Santa89
job вряд ли пойдёт. Изменения на таблице делаются не так часто (4-3 раза в месяц) - а оповещение о том что таблица изменилась должны быть своевременные (не больше часа).

Job вообще то может работать с частотой в 1 минуту
28 май 13, 11:17    [14357916]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
Glory, знаю, но это же совсем извращенство проверять каждую минуту джобом (пусть даже каждый час) таблицу, в которую вставляются данные 4 раза в месяц..
28 май 13, 11:19    [14357928]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Santa89
job вряд ли пойдёт. Изменения на таблице делаются не так часто (4-3 раза в месяц) - а оповещение о том что таблица изменилась должны быть своевременные (не больше часа).

Вас смущает, что 99,9% запусков джоба пройдут вхолостую?
28 май 13, 11:20    [14357934]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Santa89
Glory, знаю, но это же совсем извращенство проверять каждую минуту джобом (пусть даже каждый час) таблицу, в которую вставляются данные 4 раза в месяц..

Проверяйте раз в неделю.
28 май 13, 11:20    [14357935]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
В том то и дело, что между вставкой новых данных и оповещении юзеров об этом должо быть не > часа
28 май 13, 11:23    [14357944]     Ответить | Цитировать Сообщить модератору
 Re: Trigger + SendMail: правилен ли такой подход?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
Гость333, именно это и смущает))
28 май 13, 11:26    [14357962]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить