Я настроил задание в SQL Server 2016 для мониторинга таблицы и уведомления по электронной почте, если определенные данные существуют.
IF EXISTS (SELECT 1 FROM NPS_Logging.dbo.accounting_data WHERE "NP_Policy_Name" LIKE 'VPN%' AND "timestamp" > DATEADD(day,-1,CURRENT_TIMESTAMP))
BEGIN
send email (won't bother showing full commands as they work as mentioned below)
END
Когда я проверял задание, я не получил письмо.
Я думал, что if exists
не оценивает (я знаю, что это должно быть в данный момент), поэтому я вручную запустил запрос SELECT 1...
, и он вернул 1.
Затем я подумал, что отправленное письмо было сломано, поэтому я поместил его за пределы начала / конца и проверил.
if exists (SELECT 1 ...
BEGIN
END
send email
И это сработало, я получил электронное письмо.
Может кто-нибудь увидеть, где я ошибся?