Share via


NSEventSubmitBatch<EventClassName> (Transact-SQL)

Crea un nuevo lote de eventos, obtiene un conjunto de eventos de una consulta y los envía, opcionalmente ejecuta una consulta posterior al procesamiento y cierra el lote de eventos. Utilizar una consulta como origen de eventos permite enviar varios eventos a la vez, a diferencia del procedimiento almacenado NSEventWriteEventClassName.

Sintaxis

[ schema_name . ] SEventSubmitBatchEventClassName
    [ @ProviderName = ] 'event_provider_name',
    [ @EventsQuery = ] 'selection_query',
    [ @PostQuery = ] 'post_processing_query' 

Argumentos

[ @ProviderName = ] 'provider_name'

Es el nombre del proveedor de eventos que envía los eventos. provider_name es de tipo nvarchar(255) y debe ser uno de los proveedores de eventos especificados en el archivo de definición de aplicación (ADF).

[ @EventsQuery = ] 'selection_query'

Es el texto de la consulta Transact-SQL utilizada para seleccionar los registros que se enviarán como eventos. El esquema de los registros generados por la consulta debe coincidir con el esquema de la tabla de eventos a la que se van a enviar. selection_query es de tipo nvarchar(4000).

[ @PostQuery = ] 'post_processing_query'

Es el texto de una consulta Transact-SQL utilizada para realizar algún tipo de limpieza o mantenimiento de estado posterior al procesamiento, como actualizar tablas de crónicas o eliminar objetos temporales. post_processing_query es de tipo nvarchar(4000).

Conjuntos de resultados

Nombre de columna Tipo de datos Descripción

EventCount

bigint

Número de eventos enviados en el lote de eventos. Este número se obtiene consultando la tabla de eventos.

Notas

Microsoft SQL Server Notification Services crea el procedimiento almacenado NSEventSubmitBatchEventClassName en la base de datos de aplicación al crear la instancia. Al actualizar la aplicación, Notification Services vuelve a compilar el procedimiento almacenado.

Este procedimiento almacenado se encuentra en el esquema de la aplicación, que se especifica mediante el elemento SchemaName del archivo de definición de aplicación (ADF). Si no se proporciona ningún nombre de esquema, el esquema predeterminado es dbo.

Para enviar eventos individuales a una aplicación mediante Transact-SQL, use NSEventBeginBatchEventClassName para abrir el lote, NSEventWriteEventClassName para escribir eventos individuales y NSEventFlushBatchEventClassName para cerrar el lote de eventos.

Permisos

De forma predeterminada, los permisos de ejecución corresponden a los miembros de las funciones de base de datos NSEventProvider y NSRunService, la función fija de base de datos db_owner y la función fija de servidor sysadmin.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

El ejemplo siguiente muestra cómo utilizar el procedimiento almacenado NSEventSubmitBatchStockEvents para obtener nombres bursátiles y precios de la tabla Stocks de la base de datos Market y escribir después los datos en la tabla NSStockEventsEvents. La consulta especifica una consulta posterior al procesamiento vacía.

La aplicación utiliza la configuración predeterminada de SchemaName, que coloca todos los objetos de la aplicación en el esquema dbo.

EXEC dbo.NSEventSubmitBatchStockEvents
    @ProviderName = N'StockEP', 
    @EventsQuery = 'SELECT StockSymbol, StockPrice 
                    FROM Market.dbo.Stocks', 
    @PostQuery = '';

Vea también

Referencia

Procedimientos almacenados de Notification Services (Transact-SQL)

Otros recursos

Informes de rendimiento de Notification Services
SchemaName Element (ADF)

Ayuda e información

Obtener ayuda sobre SQL Server 2005