2009-08-24 2 views
2

мое имя Tayyeb, я недавно закончил курс в SQL Server 2005. В настоящее время я работаю системным администратором Windows.Отправка почты при обновлении таблицы

Я новичок в базах данных, мой вопрос в том, что у нас есть база данных, и если таблица обновляется, я бы хотел получить электронное письмо с сообщением о том, что было обновлено.

Может ли кто-нибудь помочь мне в этом решении?

Заранее спасибо

ответ

8

Вы хотели бы установить insert and update triggers на столе и у них вызвать msdb.dbo.sp_send_dbmail stored procedure.

+1

Просто будьте осторожны, как вы обновляете свои таблицы, так как вы можете создать большое количество писем. – pjp

+3

pjp прав, это отбрасывает всевозможные неприятные сигналы тревоги – stimms

+2

+1: читатели здесь должны обратить внимание на важность использования процедур «dbmail» (новых в SQL Server 2005), а не процедур SQL Mail. Среди многих других улучшений процедуры DBMail отправляются асинхронно, поэтому они безопасны для использования из триггеров. (вы должны * никогда не использовать синхронную связь от триггеров, очень плохой juju). – RBarryYoung

1

Создать таблицу, которая хранит DateTime для последнего обновления в этой конкретной таблице.

Настройте триггер для своей таблицы, который обновляет дату и время обновления.

Попросите внешнее приложение опросить дату и время с регулярным интервалом и, если оно будет изменено, отправьте электронное письмо.

0

Использование триггера заданное. Будет работать любое решение, DBMail или процесс опроса. Если вы перейдете к процессу опроса, сделайте интервал опроса, который вы можете изменить, пока процесс опроса работает, если это возможно. Проблема, с которой вы столкнетесь, заключается в том, что если вы хотите протестировать или отладить ее, вам не нужно ждать полного интервала опроса. Если интервал составляет 5 минут, вам нужно либо перезапустить опросчика, либо задать отдельный интервал опроса только для проверки того, изменился ли интервал опроса (можно ли считать рекурсивным?). Поэтому напишите poller с учетом отладки/тестирования.

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

Смежные вопросы