sp_notify_operator (Transact-SQL)

Applies to: SQL Server

Sends an e-mail message to an operator using Database Mail.

Transact-SQL syntax conventions

Syntax

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' ]
[ ; ]

Arguments

[ @profile_name = ] N'profile_name'

The name of the Database Mail profile to use to send the message. @profile_name is sysname, with a default of NULL. If @profile_name isn't specified, the default Database Mail profile is used.

[ @id = ] id

The identifier for the operator to send the message to. @id is int, with a default of NULL.

One of @id or @name must be specified.

[ @name = ] N'name'

The name of the operator to send the message to. @name is sysname, with a default of NULL.

One of @id or @name must be specified.

An e-mail address must be defined for the operator before they can receive messages.

[ @subject = ] N'subject'

The subject for the e-mail message. @subject is nvarchar(256), with a default of NULL.

[ @body = ] N'body'

The body of the e-mail message. @body is nvarchar(max), with a default of NULL.

[ @file_attachments = ] N'file_attachments'

The name of a file to attach to the e-mail message. @file_attachments is nvarchar(512), with a default of NULL.

[ @mail_database = ] N'mail_database'

Specifies the name of the mail host database. @mail_database is sysname, with a default of msdb. If no @mail_database is specified, the msdb database is used by default.

Return code values

0 (success) or 1 (failure).

Remarks

Sends the message specified to the e-mail address of the operator specified. If the operator has no e-mail address configured, sp_notify_operator returns an error.

Database Mail and a mail host database must be configured before a notification can be sent to an operator.

Permissions

This stored procedure is owned by the db_owner role. You can grant EXECUTE permissions for any user, but these permissions may be overridden during a SQL Server upgrade.

Other users must be granted one of the following SQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.

Examples

The following example sends a notification e-mail to the operator François Ajenstat using the AdventureWorks Administrator Database Mail profile. The subject of the e-mail is Test Notification. The e-mail message contains the sentence, 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