Заставьте оповещение запустить задание EXEC msdb.dbo.sp_send_dbmail
с @query
параметром:
EXEC dbo.sp_send_dbmail @profile_name = 'mail_profile'
, @recipients = 'some@mail.com'
, @subject = 'some subject'
, @body = 'the body text goes here'
, @query = 'EXEC sp_AskBrent;'
, @attach_query_result_as_file = 1;
@attach_query_result_as_file = 1
Параметр будет посылать результаты в виде вложения в текстовом формате, который , безусловно , должен быть читаемым. При желании вы можете экспортировать результаты в формате с разделителями-запятыми, используя @query_result_separator
параметр.
Со страницы MSDN дляsp_send_dbmail
:
В этом примере отправляется электронное сообщение Дэну Уилсону с использованием адреса электронной почты danw@Adventure-Works.com. Сообщение имеет тему Количество рабочих заданий и выполняет запрос, который показывает количество рабочих заданий с сроком исполнения менее двух дней после 30 апреля 2004 г. База данных Mail прикрепляет результат в виде текстового файла.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Adventure Works Administrator',
@recipients = 'danw@Adventure-Works.com',
@query = 'SELECT COUNT(*) FROM AdventureWorks2012.Production.WorkOrder
WHERE DueDate > ''2004-04-30''
AND DATEDIFF(dd, ''2004-04-30'', DueDate) < 2' ,
@subject = 'Work Order Count',
@attach_query_result_as_file = 1 ;
Есть много вариантов для этого хранимого процесса; проверьте страницу MSDN и, скорее всего, вы получите вывод именно так, как вы этого хотите.