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


sp_notify_operator (Transact-SQL)

Область применения: SQL Server

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

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

Синтаксис

sp_notify_operator
    [ [ @profile_name = ] N'profile_name' ]
    [ , [ @id = ] id ]
    [ , [ @name = ] N'name' ]
    [ , [ @subject = ] N'subject' ]
    [ , [ @body = ] N'body' ]
    [ , [ @file_attachments = ] N'file_attachments' ]
    [ , [ @mail_database = ] N'mail_database' ]
[ ; ]

Аргументы

[ @profile_name = ] N'profile_name'

Имя профиля Database Mail, используемого для отправки сообщения. @profile_name имеет имя sysname с значением по умолчаниюNULL. Если @profile_name не задано, используется профиль компонента Database Mail по умолчанию.

[ @id = ] id

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

Необходимо указать один из @id или @name.

[ @name = ] N'name'

Имя оператора, которому отправляется сообщение. @name имеет имя sysname с значением по умолчаниюNULL.

Необходимо указать один из @id или @name.

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

[ @subject = ] N'subject'

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

[ @body = ] N'body'

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

[ @file_attachments = ] N'file_attachments'

Имя файла, прилагаемого к сообщению электронной почты. @file_attachments — nvarchar(512) с значением по умолчаниюNULL.

[ @mail_database = ] N'mail_database'

Указывает имя базы данных обслуживания почты. @mail_database — sysname с значением по умолчаниюmsdb. Если @mail_database не задано, msdb база данных используется по умолчанию.

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

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

Замечания

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

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

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.

Другим пользователям необходимо предоставить одну из следующих агент 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