Можно отправить электронное письмо на обновление таблицы с помощью SQL Server или SSIS? - PullRequest
0 голосов
/ 25 октября 2018

Мне интересно, можно ли с помощью SSMS или SSIS автоматически отправлять электронную почту при обновлении таблицы каждый день?У нас есть таблица, в которой записывается последнее обновление серии таблиц, что в идеале происходит один раз в день.Идея состоит в том, что люди не будут использовать / доверять данным в этой таблице, если они не уверены, что они обновлены (они поступают из действующей ERP).Извините за расплывчатость, но я не смог найти ответы, которые могли бы решить проблему.Сейчас есть какой-то сайт, о котором мало кто знает, просто любопытно, есть ли у Microsoft решение для этого.

Спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Можно получить задание агента SQL или пакет служб SSIS для отправки электронного письма.Если вы выберете SSIS, вы будете использовать задачу Send Mail.В потоке управления поместите задачу «Отправить почту» после вашей задачи потока данных (или каков ваш последний шаг).Вы должны создать SMTP Connection Manager, который является вашим почтовым сервером.При этом вам может понадобиться просто ввести имя сервера, например mail.mydomain.com, или вы можете установить флажок или два в зависимости от вашего почтового сервера.

SMTP Connection Manager

При настройке задачи «Отправить почту» выберите диспетчера подключений SMPT, который вы только что создали.Введите адрес отправителя, адрес, тему, источник сообщения и т. Д. Вы можете просто ввести нужные значения.

Send Mail Task

Если вы хотитечтобы получить немного фантазии, вы можете создать выражения для некоторых из этих значений.Например, если вы хотите, чтобы тело письма включало в себя некоторые сведения о загрузке, такие как время завершения или количество строк, вы можете легко это сделать.Одним из способов является использование выражений для заполнения тела сообщения, темы и т. Д. Вот выражение, которое я использую в пакете при обнаружении ошибки:

"Package start time: " + (DT_WSTR, 50) @[System::StartTime] +"\r\nEvent handler start time: " + (DT_WSTR, 50) @[System::EventHandlerStartTime] + "\r\nPackage running on: " + @[System::MachineName] + "\r\nPackage started by: " +  @[System::UserName] + "\r\nError code: "+ @[System::ErrorDescription] + "\r\nError description: " +  @[System::ErrorDescription]

. Содержит такие сведения, как имяпакет, на котором он работает (чтобы легко определить, в какой среде произошла ошибка (Dev / QA / UAT / Prod).

Send Mail Task Expressions

...