Definir un proveedor de eventos de SQL Server
Para usar el proveedor de eventos de Microsoft SQL Server, debe definir un proveedor de eventos alojado en la definición de la aplicación. Este tema describe los valores de propiedad y los argumentos requeridos por el proveedor de eventos de SQL Server.
[!NOTA] El proveedor de eventos de SQL Server consulta una base de datos. La cuenta utilizada por el servicio de Windows o la aplicación que ejecuta el proveedor de eventos debe ser capaz de conectarse a la base de datos y tener permisos SELECT en la base de datos.
Propiedades
Utilice las siguientes directrices al definir las propiedades del proveedor de eventos de SQL Server.
- ProviderName debe ser un nombre único en su aplicación (obligatorio).
- ClassName debe ser SQLProvider (obligatorio).
- No use la propiedad AssemblyName. Notification Services busca en el ensamblado Microsoft.SqlServer.NotificationServices.dll información del proveedor de eventos estándar.
- SystemName normalmente es el nombre del equipo que ejecutará este proveedor de eventos alojado (obligatorio). Para obtener más información, vea Definir proveedores de eventos alojados.
- Defina un valor de tiempo de espera (opcional). El valor del tiempo de espera predeterminado es de cinco minutos.
- Defina una programación (obligatorio). Para obtener más información, vea Definir proveedores de eventos alojados.
Argumentos
El proveedor de eventos de SQL Server tiene tres argumentos con nombre que se utilizan como parámetros de inicialización. Se pueden especificar en cualquier orden:
- EventsQuery recopila datos de eventos como su valor (obligatorio). La única restricción en esta consulta es que debe devolver columnas que se asignan a los campos de eventos definidos para la clase de evento. Se deben devolver los valores de todos los campos de eventos.
Puede utilizar una consulta o un procedimiento almacenado como el valor de este argumento. Para utilizar un procedimiento almacenado, el valor es EXECnombreDeProcedimientoAlmacenado.
El proveedor de eventos de SQL Server se ejecuta contra la instancia local de SQL Server. Si desea utilizar una tabla en un servidor remoto en su consulta, cree un servidor vinculado. Esto le permite utilizar nombres de cuatro partes (servidor.basededatos.esquema.objeto) para obtener acceso a objetos en el servidor remoto. Para obtener más información, vea Configurar servidores vinculados para la delegación. - PostQuery (opcional) realiza cualquier procesamiento que sea necesario después de recopilar los datos de eventos. Puede utilizar una consulta o un procedimiento almacenado como el valor de este argumento. Para utilizar un procedimiento almacenado, el valor es EXECnombreDeProcedimientoAlmacenado.
- EventClassName especifica el nombre de la clase de evento para la que este proveedor de eventos envía eventos (obligatorio).
Para obtener más información acerca de cómo definir un proveedor de eventos alojado, vea Definir proveedores de eventos alojados.
Ejemplo: definición de proveedor de eventos de SQL Server
El siguiente ejemplo de código muestra cómo definir un proveedor de eventos de SQL Server denominado SQLStock en un archivo de definición de aplicación (ADF):
<Providers>
<HostedProvider>
<ProviderName>SQLStock</ProviderName>
<ClassName>SQLProvider</ClassName>
<SystemName>SLEIPNIR</SystemName>
<Schedule>
<Interval>P0DT00H00M60S</Interval>
</Schedule>
<ProviderTimeout>PT4M</ProviderTimeout>
<Arguments>
<Argument>
<Name>EventsQuery</Name>
<Value>
SELECT StockSymbol, StockPrice
FROM StockTable
</Value>
</Argument>
<Argument>
<Name>EventClassName</Name>
<Value>StockEvents</Value>
</Argument>
</Arguments>
</HostedProvider>
</Providers>
Vea también
Conceptos
Definir un proveedor de eventos de SQL Server
Recopilar y filtrar datos del proveedor de eventos de SQL Server
Otros recursos
Definir proveedores de eventos
Proveedores de eventos estándar