Share via


NSEventFlushBatch<EventClassName> (Transact-SQL)

Cierra un lote de eventos abierto por NSEventBeginBatchEventClassName. Este procedimiento almacenado confirma la transacción de recopilación de eventos y, después, marca el lote de eventos como finalizado. Normalmente, este procedimiento almacenado se utiliza si se envían eventos individuales mediante Transact-SQL. Vea la sección Notas para obtener más información.

Sintaxis

[ schema_name . ] NSEventFlushBatchEventClassName
    [ @EventBatchId = ] event_batch_ID
    [, [@EventCount = ] number_of_events]

Argumentos

[ @EventBatchId =] event_batch_ID

Número de Id. del lote de eventos que se va a confirmar. event_batch_ID es de tipo bigint y no tiene ningún valor predeterminado.

[ @EventCount =] number_of_events

Número de eventos enviados para el lote de eventos. Para obtener el valor predeterminado, el procedimiento almacenado consulta la tabla de eventos.

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 especifica en el argumento @EventCount o se obtiene consultando la tabla de eventos.

Notas

Notification Services crea el procedimiento almacenado NSEventFlushBatchEventClassName 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.

Para utilizar una consulta con el fin de obtener un conjunto de eventos y enviarlos a una aplicación, utilice NSEventSubmitBatchEventClassName.

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 iniciar un lote de eventos, escribir un evento y cerrar el lote de eventos. El proveedor de eventos del lote de eventos es StockEP y el número de identificación del lote de eventos se devuelve en el parámetro de salida @BatchID.

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

DECLARE @BatchID bigint;
EXEC dbo.NSEventBeginBatchStockEvents N'StockEP', @BatchID OUTPUT;
EXEC dbo.NSEventWriteStockEvents
   @EventBatchId=@BatchID,
   @StockSymbol=N'AWKS',
   @StockPrice=68.14;
EXEC dbo.NSEventFlushBatchStockEvents @BatchID;
SELECT @BatchID 'Event Batch';

Este ejemplo presupone que está utilizando Microsoft SQL Server Management Studio porque el Id. del lote de eventos se devuelve en la instrucción SELECT de forma que pueda ver el lote de eventos creado.

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