Compartir a través de


sp_notify_operator (Transact-SQL)

Se aplica a: SQL Server

Envía un mensaje de correo electrónico a un operador mediante el Correo electrónico de base de datos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @profile_name = ] N'profile_name'

Nombre del perfil de Correo electrónico de base de datos que se va a utilizar para enviar el mensaje. @profile_name es sysname, con un valor predeterminado de NULL. Si no se especifica @profile_name, se usa el perfil de Correo electrónico de base de datos predeterminado.

[ @id = ] id

Identificador del operador al que se va a enviar el mensaje. @id es int, con un valor predeterminado de NULL.

Se debe especificar uno de @id o @name .

[ @name = ] N'name'

Nombre del operador al que se va a enviar el mensaje. @name es sysname, con un valor predeterminado de NULL.

Se debe especificar uno de @id o @name .

Se debe definir una dirección de correo electrónico para el operador para poder recibir mensajes.

[ @subject = ] N'subject'

Asunto del mensaje de correo electrónico. @subject es nvarchar(256), con un valor predeterminado de NULL.

[ @body = ] N'body'

Cuerpo del mensaje de correo electrónico. @body es nvarchar(max), con un valor predeterminado de NULL.

[ @file_attachments = ] N'file_attachments'

Nombre de un archivo que se va a adjuntar al mensaje de correo electrónico. @file_attachments es nvarchar(512), con un valor predeterminado de NULL.

[ @mail_database = ] N'mail_database'

Especifica el nombre de la base de datos host de correo. @mail_database es sysname, con un valor predeterminado de msdb. Si no se especifica ningún @mail_database , la msdb base de datos se usa de forma predeterminada.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

Envía el mensaje especificado a la dirección de correo electrónico del operador especificado. Si el operador no tiene configurada ninguna dirección de correo electrónico, sp_notify_operator devuelve un error.

El Correo electrónico de base de datos y la base de datos host de correo deben configurarse antes de que se pueda enviar una notificación al operador.

Permisos

Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE permisos para cualquier usuario, pero estos permisos se pueden invalidar durante una actualización de SQL Server.

A otros usuarios se les debe conceder uno de los siguientes Agente SQL Server roles fijos de base de datos en la msdb base de datos:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalles sobre los permisos de estos roles, consulte Roles fijos de base de datos del Agente SQL Server.

Ejemplos

En el siguiente ejemplo se muestra cómo enviar una notificación de correo electrónico al operador François Ajenstat mediante el perfil de base de datos de correo electrónico de AdventureWorks Administrator. El asunto del mensaje de correo electrónico es Test Notification. El mensaje de correo electrónico contiene la frase , 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