Trigger en SQL Server 2005

Es haciendo un trigger para que cuando se inserte un registro me envíe un correo que ya tengo configurado en la base de datos. Ahora, me crea el objeto, pero me envía el siguiente mensaje:
No se puede agregar filas a sysdepends para el objeto actual porque depende del objeto 'sismovil.dbo.sp_send_dbmail', que falta. De todos modos, se creará el objeto.
Por lo cual creo, no me funciona ni el ingreso a la tabla ni el envío del correo.
Mi trigger es así:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [NotificaEmail] ON [dbo].[clientes]
FOR INSERT
AS
Exec mibase.dbo.sp_send_dbmail
EXEC msdb.dbo.sp_send_dbmail
@recipients=N'usuario@dominio',
@body=N'Mensaje Mensaje.' ;
Ojala puedan ayudarme

1 Respuesta

Respuesta
1
No creo que sea el método más adecuado de enviar correos desde un trigger, analice este panorama.
Que alguien, por pruebas o bien por trabajo real, se le ocurra ingresar unos 10,000 registros en forma batch (bulk insert) a su tabla, sin duda, que tiraría el servidor de correos y tal vez el de SQL Server.
¿Se necesita de FORMA INMEDIATA notificar de la inserción del registro?
¿No se podría hacer de otra forma?
Si hubiera otra forma te agradecería que me la dijeras, en todo caso en esta tabla lo que quiero hacer es que cuando se registre una factura nula se envíe de inmediato un correo electrónico de base de datos ahora ya arregle el problema solo era que estaba llamando al Procedimiento almacenado de send mail en mi tabla y ahí o existe si no que es un SP de sistema y se encuentra en la base de datos MSDB ahora me funciona.
¿Cómo seria el trigger para que me envíe un correo por facturas nulas?
Si se deseaba informar de FORMA INMEDIATE (en el momento que suceda), ahora bien, el control forzosamente debe estar en el trigger, ¿porque no controlar que NO SE INCLUYAN FACTURAS NULAS, ya sea mediante un store o algo por el estilo.
Podría, ejecutarse, incluso, un job, cada minuto por ejemplo, que verificara si hay facturas NULAS (no se a que se refiera) y enviar dicho reporte por correo.
Solo que el hecho de enviar, mediante el trigger, el correo, hay mucho riesgo de operación.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas