Inicio > SQL Server > iislas > Trigger en SQL Server 2005

Trigger en SQL Server 2005

Experto:
Usuario:
Fecha: 17/07/2008
Valoración: (3,00 sobre 5) Categoría: SQL Server
04/07/2008
polo2006, usuario preguntando en SQL Server
Usuario
Hola Amigos:
Es haciendo un trigger para que cuando se inserte un registro me envie un correo que ya tebgo configurado en la base de datos. ahora , me crea el objeto, pero me envia 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 envio del correo.
mi trigger es asi:
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
04/07/2008
polo2006, experto respondiendo en SQL Server
Experto
No creo que sea el metodo mas 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 tiraria el servidor de correos y tal vez el de SQL Server.
¿Se necesita de FORMA INMEDIATA notificar de la inserccion del registro?
¿No se podria hacer de otra forma?
05/07/2008
polo2006, usuario preguntando en SQL Server
Usuario
si hubiera otra forma te agradeceria que me la dijeras, en todo caso en esta tabla lo que quiero hacer es que cuando se registre una factura nula se envie de inmediato un correo electronico de base de datos ahora ya arregle el problema solo era que estaba llamando al Procediemiento almacenado de send mail en mi tabla y ahi  o existe si no que es un SP de sistema y se encuentra en la base de datos MSDB ahora me funciona.

como seria el trigger para que me envie un correo por facturas nulas???
07/07/2008
polo2006, experto respondiendo en SQL Server
Experto
Por eso mi pregunta, 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.
Podria, 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 operacion.
17/07/2008
polo2006, usuario preguntando en SQL Server
Usuario
Gracias por la preocupacion, me resulto lo de la idea del Job.

muchas gracias
Enlaces patrocinados