Использование хранимых процедур службы SQL Mail

Служба SQL Mail содержит ряд хранимых процедур, которые могут применяться для запуска запросов, возврата результирующего набора, содержащего список получателей, или ответа на электронное сообщение, содержащее простой запрос или хранимую процедуру.

ПримечаниеПримечание

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.. Для отправки письма из SQL Server используйте компонент Database Mail.

В следующей таблице представлено краткое описание расширенных процедур и методов их применения.

Процедуры службы SQL Mail

Функция

xp_startmail (Transact-SQL)

Запускает службу SQL Mail. Процедуры, использующие службу SQL Mail, при необходимости запускают ее.

xp_stopmail (Transact-SQL)

Останавливает службу SQL Mail.

xp_findnextmsg (Transact-SQL)

По умолчанию находит последнее доставленное сообщение и возвращает его уникальный идентификатор. Также используется хранимой процедурой sp_processmail для обработки почты в почтовом ящике службы SQL Mail: xp_findnextmsg принимает в качестве аргумента идентификатор сообщения и возвращает идентификатор следующего сообщения.

xp_readmail (Transact-SQL)

Принимает на входе идентификатор сообщения и возвращает относящиеся к сообщению сведения — например тему электронного письма. (Для формирования этого идентификатора можно воспользоваться процедурой xp_findnextmsg). Также используется процедурой sp_processmail.

xp_deletemail (Transact-SQL)

Принимает на входе идентификатор сообщения и удаляет соответствующее сообщение из почтового ящика. (Для формирования этого идентификатора можно воспользоваться процедурой xp_findnextmsg). Также используется процедурой sp_processmail.

xp_sendmail (Transact-SQL)

Принимает несколько параметров (например получатели, сообщения, темы и очереди), необходимых для создания электронного письма. Также используется процедурой sp_processmail или в хранимой процедуре или триггере. Отправляет указанным получателям сообщение, содержащее во вложении результирующий набор запроса.

sp_processmail (Transact-SQL)

Использует несколько расширенных хранимых процедур (xp_findnextmsg, xp_readmail и xp_deletemail) для обработки входящих сообщений (ожидается, что это будет единичный запрос), а процедуру xp_sendmail — для возврата результирующего набора отправителю сообщения. Для проверки входящих сообщений в почтовом ящике служба SQL Mail должна регулярно запускаться из планировщика.

Примечание по безопасностиПримечание по безопасности

Из соображений безопасности необходимо ограничить разрешения на все хранимые процедуры и расширенные хранимые процедуры службы SQL Mail членами предопределенной роли сервера sysadmin.

См. также

Основные понятия