sp_notify_operator (Transact-SQL)

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

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • [ @profile_name= ] 'profilename'
    Nombre del perfil de Correo electrónico de base de datos que se va a utilizar para enviar el mensaje. profilename es de tipo nvarchar(128). Si no se especifica profilename, se utilizará el perfil predeterminado de Correo electrónico de base de datos.

  • [ @id= ] id
    Identificador del operador al que se va a enviar el mensaje. id es de tipo int y su valor predeterminado es NULL. Debe especificarse id o name.

  • [ @name= ] 'name'
    Nombre del operador al que se va a enviar el mensaje. name es de tipo nvarchar(128) y su valor predeterminado es NULL. Debe especificarse id o name.

    [!NOTA]

    Para poder recibir mensajes es preciso definir una dirección de correo electrónico para el operador.

  • [ @subject= ] 'subject'
    Asunto del mensaje de correo electrónico. subject es de tipo nvarchar(256) y no tiene ningún valor predeterminado.

  • [ @body= ] 'message'
    Cuerpo del mensaje de correo electrónico. message es de tipo nvarchar(max) y no tiene ningún valor predeterminado.

  • [ @file_attachments= ] 'attachment'
    Nombre de un archivo que se va a adjuntar al mensaje de correo electrónico. attachment es de tipo nvarchar(512) y no tiene ningún valor predeterminado.

  • [ @mail_database= ] 'mail_host_database'
    Especifica el nombre de la base de datos host de correo. mail_host_database es de tipo nvarchar(128). Si no se especifica mail_host_database, se utilizará la base de datos msdb de forma predeterminada.

Valores de código de retorno

0 (correcto) o 1 (error)

Notas

Envía el mensaje especificado a la dirección de correo electrónico del operador especificado. Si el operador no tiene configurada una dirección de correo electrónico, generará 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. Para obtener más información, vea Temas de procedimientos del Correo electrónico de base de datos.

Permisos

De forma predeterminada, los miembros de la función fija de servidor sysadmin pueden ejecutar este procedimiento almacenado. A otros usuarios debe concederse una de las siguientes funciones fijas de base de datos del Agente SQL Server en la base de datos msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Para obtener más información acerca de los permisos de estas funciones, vea Funciones fijas 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 indica que se trata de una notificación de prueba por correo electrónico.

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