Перейти к содержимому

email

Как узнать кому отправлялись письма из mssql

msdb.dbo.sysmail_allitems - просмотр всех сообщений;
msdb.dbo.sysmail_sentitems – просмотр только отправленных сообщений;
msdb.dbo.sysmail_unsentitems - просмотр неотправленных сообщений;
msdb.dbo.sysmail_faileditems – просмотр сообщений с ошибками;
msdb.dbo.sysmail_event_log – журнал работы компонента Database Mail.
Например, для просмотра всех отправленных сообщений можно использовать следующий запрос:
SELECT sent_date AS [Дата отправки письма], 
	   send_request_user AS [Кем отправлено письмо],
	   recipients AS [Кому отправлено письмо], 
	   subject AS [Тема письма], 
	   body AS [Текст письма], 
	   file_attachments AS [Отправленные файлы], 
	   query AS [SQL запрос]
 FROM msdb.dbo.sysmail_sentitems

 

Шаблон для отправки оповещения на почту

Email уведомление должно выглядеть так:

Заголовок письма [server name].[job status].[job desc]
Тема письма [job name]
Тело письма [job time]
declare @status nvarchar(5)
declare @jobdesc nvarchar(256)
declare @jobname nvarchar(256)
declare @body_alert nvarchar (max)
declare @subject_alert nvarchar (256)
declare @getdate nvarchar(26)
 
set @status = 'OK' -- статус OK или ERROR
set @jobname = 'Mirror exceed base backup' -- имя задания в агенте mssql
set @jobdesc = 'Создание бэкапа бд exceed'  -- краткое описание задания,понятное человеку
 
set @getdate = CONVERT(nvarchar(26),getdate(),113)
set @body_alert = ' <p><small>Имя сервера</small>: '+@@servername + '</p>
					<p><small>Название задания в агенте sql server</small>: '+@jobname+'</p>
					<p><small>Статус задания</small>: '+@status + '</p>
					<p><small>Описание задания</small>: 
Читать далее