Notificaciones de consulta en SQL Server (ADO.NET)

Actualización: November 2007

Las notificaciones de consulta se incorporaron en Microsoft SQL Server 2005 y el espacio de nombres System.Data.SqlClient en ADO.NET 2.0. Las notificaciones de consulta, que están basadas en la infraestructura Service Broker, permiten que se notifique a las aplicaciones cuando cambian los datos. Esta característica es especialmente útil en aplicaciones que proporcionan una caché de información desde una base de datos, por ejemplo, una aplicación web, y necesitan recibir notificación cuando cambian los datos de origen.

Existen tres maneras de implementar las notificaciones de consulta mediante ADO.NET:

  1. La implementación de nivel inferior la proporciona la clase SqlNotificationRequest, que presenta funciones de servidor, lo que permite ejecutar un comando con una solicitud de notificación.

  2. La implementación de nivel superior la proporciona la clase SqlDependency, que ofrece un alto nivel de abstracción de la funcionalidad de notificación entre la aplicación de origen y SQL Server, lo que permite utilizar una dependencia para detectar cambios en el servidor. En la mayoría de los casos, ésta es la manera más sencilla y eficaz de aprovechar la funcionalidad de notificaciones de SQL Server 2005 por parte de aplicaciones cliente administradas que utilizan el proveedor de datos de .NET Framework para servidor SQL Server.

  3. Además, las aplicaciones web creadas mediante ASP.NET 2.0 o posterior pueden utilizar las clases auxiliares SqlCacheDependency.

Las notificaciones de consulta son útiles en aquellas aplicaciones que necesitan actualizar presentaciones o cachés como respuesta a los cambios en los datos subyacentes. Microsoft SQL Server 2005 permite que las aplicaciones .NET Framework envíen un comando a SQL Server y soliciten una notificación si la ejecución del mismo comando produjera conjuntos de resultados diferentes de los inicialmente recuperados. Las notificaciones generadas en el servidor se envían a través de colas para procesarlas más adelante.

Puede definir notificaciones para las instrucciones SELECT y EXECUTE. Al utilizar una instrucción EXECUTE, SQL Server registra una notificación para el comando ejecutado en lugar de la propia instrucción EXECUTE. El comando debe cumplir los requisitos y limitaciones de una instrucción SELECT. Si un comando que registra una notificación contiene más de una instrucción, el motor de base de datos crea una notificación para cada instrucción del lote.

Para obtener más información acerca de las notificaciones de consulta y SQL Server Service Broker, vea los siguientes vínculos a temas de los Libros en pantalla de SQL Server.

Libros en pantalla de SQL Server 2005

Libros en pantalla de SQL Server 2008

Usar notificaciones de consulta

Usar notificaciones de consulta

Service Broker

Service Broker

Centro de información del programador de Service Broker

Development (Service Broker)

En esta sección

Referencia

Vea también

Otros recursos

SQL Server y ADO.NET