¿Pueden los desencadenadores SQL CLR hacer esto? ¿O hay un mejor camino?
Quiero escribir un servicio (probablemente en C #) que supervise una tabla de base de datos. Cuando se inserta un registro en la tabla, quiero que el servicio tome los datos recién insertados y realice una lógica empresarial compleja (demasiado complejo para TSQL).
Una opción es hacer que el servicio verifique periódicamente la tabla para ver si se han insertado nuevos registros. El problema al hacerlo de esta manera es que quiero que el servicio sepa sobre las inserciones tan pronto como sucedan, y no quiero matar el rendimiento de la base de datos.
Investigando un poco, parece que quizás escribir un disparador CLR podría hacer el trabajo. Podría escribir el desencadenador en C # que se activa cuando se produce una inserción y luego enviar los datos recién insertados a un servicio de Windows o WCF.
¿Qué crees que es un buen (o incluso posible) uso de los desencadenantes SQL CLR?
¿Alguna otra idea sobre cómo lograr esto?