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.
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 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)
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 obtener más información acerca de los permisos de estos roles, vea 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
Vea también
Referencia
Procedimientos almacenados del Agente SQL Server (Transact-SQL)
sp_add_operator (Transact-SQL)