sql >> Base de Datos >  >> RDS >> Sqlserver

Notificación de cambio con Sql Server 2008

Los Servicios de notificación quedaron en desuso, pero no querrás usarlos de todos modos.

Puede considerar los mensajes de Service Broker en algunos escenarios; los detalles dependen de su aplicación.

En la mayoría de los casos, probablemente pueda usar SqlDependency o SqlCacheDependency. La forma en que funcionan es que incluye un objeto SqlDependency con su consulta cuando la emite. La consulta puede ser un solo SELECT o un grupo complejo de comandos en un procedimiento almacenado.

Algún tiempo después, si otro servidor web, usuario o página web realiza un cambio en la base de datos que podría causar que cambien los resultados de la consulta anterior, entonces SQL Server enviará una notificación a todos los servidores que tienen objetos SqlDependency registrados. Puede registrar el código para que se ejecute cuando lleguen esos eventos, o el evento puede simplemente borrar una entrada en el caché.

Aunque necesita habilitar Service Broker para usar SqlDependency, no necesita interactuar con él explícitamente. Sin embargo, también puedes usarlo como un mecanismo alternativo; considérelo más como un sistema de mensajería persistente que garantiza el orden de los mensajes y la entrega una sola vez.

Los detalles de cómo usar estos sistemas son un poco largos para una publicación en el foro. Puede buscarlos en Google o también proporciono ejemplos en mi libro (Ultra-Fast ASP.NET).