Отправка задания SSIS по электронной почте на основе результата запроса - PullRequest
0 голосов
/ 08 мая 2020

У меня есть запрос, который возвращает 4 столбца: DATE QTY1 QTY2 MATCH

если два количества совпадают, тогда столбец MATCH будет 'Y', если нет, то 'N'

Я пытаюсь понять, как каждое утро запускать задание SSIS по расписанию, которое позволяет отправлять мне электронные письма, когда в столбце MATCH появляется «N».

Я пробовал несколько разных вещей в SSIS , например, условное разделение, но я новичок в SSIS и не могу понять, как это сделать sh. Любые идеи? или есть другой способ go об этом?

1 Ответ

0 голосов
/ 08 мая 2020

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

Следующий запрос можно использовать непосредственно в SQL Шаг задания агента, или вы можете использовать его в рамках Execute SQL Task в SSIS

Мы проверяем, выполняется ли условие (если существует), и если да, то мы собираемся отправить электронное письмо. Мы собираемся встроить результаты запроса прямо в электронное письмо, чтобы вы могли видеть, что критерии были соблюдены, и подробности того, что произошло

IF EXISTS
(
    SELECT * FROM dbo.QuerySource AS QS WHERE QS = 'N'
)
BEGIN
    EXECUTE msdb.dbo.sp_send_dbmail @recipients = 'me@domain.com'
    ,  @subject = 'Mismatch in data'
    ,  @body = 'Bad things happened today'
    ,  @query = 'SELECT * FROM dbo.QuerySource AS QS WHERE QS = ''N''';
END
...