sp_notify_operator (Transact-SQL)

Применимо к:SQL Server

Отправляет оператору сообщения по электронной почте с помощью компонента Database Mail.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sp_notify_operator  
    [ @profile_name = ] 'profilename' ,  
    [ @id = ] id ,  
    [ @name = ] 'name' ,  
    [ @subject = ] 'subject' ,  
    [ @body = ] 'message' ,  
    [ @file_attachments = ] 'attachment'  
    [ @mail_database = ] 'mail_host_database'  

Аргументы

[ @profile_name = ] 'profilename' Имя профиля Database Mail, используемого для отправки сообщения. имя профиля — nvarchar(128). Если имя профиля не указано, используется профиль компонента Database Mail по умолчанию.

[ @id = ] idИдентификатор оператора для отправки сообщения. идентификатор int с значением NULL по умолчанию. Необходимо указать один из идентификаторов или имени.

[ @name = ] 'name' Имя оператора для отправки сообщения. имя nvarchar (128) с значением NULL по умолчанию. Необходимо указать один из идентификаторов или имени.

Примечание.

Адрес электронной почты должен быть определен для оператора, прежде чем они смогут получать сообщения.

[ @subject = ] 'subject' Тема сообщения электронной почты. темаnvarchar(256) без значения по умолчанию.

[ @body = ] 'message' Текст сообщения электронной почты. сообщение nvarchar (max) без значения по умолчанию.

[ @file_attachments = ] 'attachment' Имя файла для присоединения к сообщению электронной почты. вложение — nvarchar (512) без значения по умолчанию.

[ @mail_database = ] 'mail_host_database' Указывает имя базы данных узла почты. mail_host_database — nvarchar(128). Если mail_host_database не задано, база данных msdb используется по умолчанию.

Значения кода возврата

0 (успешно) или 1 (сбой)

Замечания

Отправляет данное сообщение на адрес электронной почты указанного оператора. Если оператор не имеет настроенного адреса электронной почты, возвращается ошибка.

Компонент Database Mail и базы данных обслуживания почты должны быть сконфигурированы до отправки уведомления оператору.

Разрешения

По умолчанию эту хранимую процедуру могут выполнять только члены предопределенной роли сервера sysadmin . Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в базе данных msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.

Примеры

В следующем примере уведомление по электронной почте отправляется оператору François Ajenstat с помощью профиля компонента AdventureWorks Administrator Database Mail. Тема сообщения электронной почты: Test Notification. Сообщение электронной почты содержит текст «This is a test of notification via e-mail».

USE msdb ;  
GO  
  
EXEC dbo.sp_notify_operator  
   @profile_name = N'AdventureWorks Administrator',  
   @name = N'François Ajenstat',  
   @subject = N'Test Notification',  
   @body = N'This is a test of notification via e-mail.' ;  
GO  

См. также

агент SQL Server хранимых процедур (Transact-SQL)
sp_add_operator (Transact-SQL)
sp_help_operator (Transact-SQL)
sp_delete_operator (Transact-SQL)