Share via


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 = ] '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 usar para enviar el mensaje. profilename es nvarchar(128). Si no se especifica profilename, 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 los identificadores o nombres .

[ @name = ] 'name' Nombre del operador al que se va a enviar el mensaje. name es nvarchar(128), con un valor predeterminado de NULL. Se debe especificar uno de los identificadores o nombres .

Nota:

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

[ @subject = ] 'subject' Asunto del mensaje de correo electrónico. subject es nvarchar(256) sin valor predeterminado.

[ @body = ] 'message' Cuerpo del mensaje de correo electrónico. message es nvarchar(max) sin valor predeterminado.

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

[ @mail_database = ] 'mail_host_database' Especifica el nombre de la base de datos host de correo. mail_host_database es nvarchar(128). Si no se especifica ningún mail_host_database , la base de datos msdb se usa de forma predeterminada.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

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.

Permisos

De forma predeterminada, los miembros del rol fijo de servidor sysadmin pueden ejecutar este procedimiento almacenado. Al resto de usuarios se les debe conceder uno de los siguientes roles fijos de base de datos del Agente SQL Server en la base de datos msdb :

  • 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 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  

Consulte también

procedimientos almacenados de Agente SQL Server (Transact-SQL)
sp_add_operator (Transact-SQL)
sp_help_operator (Transact-SQL)
sp_delete_operator (Transact-SQL)