Поделиться через


sp_notify_operator (Transact-SQL)

Отправляет оператору сообщения по электронной почте с помощью компонента 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, используемого для отправки сообщения. Аргумент profilename имеет тип nvarchar(128). Если аргумент profilename не указан, используется профиль компонента Database Mail по умолчанию.

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

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

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

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

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

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

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

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

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

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

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

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

Разрешения

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

Примеры

В следующем примере уведомление по электронной почте отправляется оператору Francois 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