Share via


NSEventWrite<EventClassName> (Transact-SQL)

Envía un evento a la tabla de eventos de la clase de evento. Debe utilizar NSEventBeginBatchEventClassName para abrir un nuevo lote y NSEventFlushBatchEventClassName para cerrarlo. Antes de cerrar el lote, puede enviar varios eventos.

Sintaxis

[ schema_name . ] NSEventWriteEventClassName
    [ @EventBatchId = ] event_batch_ID ,
    [ @event_class_field_name = ] event_class_field_value [, ...n]

Argumentos

[ @EventBatchId = ] event_ batch_ID

Es el Id. del lote de eventos para este evento. El número de Id. del lote de eventos debe existir en la tabla de lotes de eventos. event_batch_ID es de tipo bigint y no tiene ningún valor predeterminado.

[ **@**event_class_field_name = ] event_class_field_value

Proporciona un par nombre-valor para un campo de clase de evento. Se puede proporcionar un par event_class_field_name y event_class_field_value para cada columna de la tabla de eventos. Si la columna tiene un valor predeterminado o acepta NULL, no se requiere el par nombre-valor.

Conjuntos de resultados

Ninguno

Notas

Microsoft SQL Server Notification Services crea el procedimiento almacenado NSEventWriteEventClassName 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 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