2011-06-09 9 views
6

Me gustaría usar algún mecanismo dentro de SQL Server (o uno de sus servicios) para enviar mensajes de cambio (a través de UDP, por ejemplo, pero TCP también está bien) cuando las filas se insertan en una tabla. Me gustaría que estos mensajes sean más que notificaciones de cambio, pero realmente contengan los datos modificados. ¿Hay un mecanismo que viene con SQL Server 2008 R2 para hacer esto? He oído hablar de Service Broker y Extended Events, pero no estoy seguro de que estas sean las herramientas adecuadas para el trabajo cuando se trata de obtener datos casi en tiempo real expulsados ​​de SQL Server a otra aplicación que necesita actualizar su estado interno cuando los datos en los cambios de SQL Server, sin tener que consultar SQL Server (es decir, quiero que los datos sean expulsados ​​estrictamente de SQL Server).¿Cuál es la mejor manera de enviar datos insertados desde SQL Server a una aplicación?

En el peor de los casos, puedo escribir código SQLCLR que unica los mensajes UDP que contienen cambios, pero me gustaría reutilizar un servicio existente, si está disponible.

+0

No puedo decir que lo he usado, pero StreamInsight (http://www.microsoft.com/sqlserver/2008/en/us/R2-complex-event.aspx) podría ser lo que buscas - 2008 R2 o superior, sin embargo. –

Respuesta

4

dado que está utilizando SQL 2008, el seguimiento de cambios está incorporado.

MSDN proporciona una amplia información sobre la activación y la aplicación de la función. This overview article proporciona una vista de alto nivel y this article es un excelente lugar para comenzar la implementación.

1

Desafortunadamente, como SQL Server Notification Services se eliminó de 2008 y más adelante, realmente no hay una buena manera incorporada de hacerlo. La línea oficial de Microsoft es que Reporting Services puede llenar el vacío, pero la experiencia práctica demuestra lo contrario.

Está atrapado con una solución de terceros o con la suya propia. ¡Buena suerte!

Cuestiones relacionadas