Share via


NSEventFlushBatch<EventClassName> (Transact-SQL)

Chiude un batch di eventi aperto da NSEventBeginBatchEventClassName. Questa stored procedure esegue il commit della transazione di raccolta degli eventi e quindi contrassegna il batch di eventi come completato. Viene in genere utilizzata per l'inoltro di singoli eventi tramite Transact-SQL. Per ulteriori informazioni, vedere la sezione Osservazioni.

Sintassi

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

Argomenti

[ @EventBatchId =] event_batch_ID

Numero di identificazione del batch di eventi di cui eseguire il commit. event_batch_ID è di tipo bigint e non prevede alcun valore predefinito.

[ @EventCount =] number_of_events

Numero di eventi inoltrati per il batch di eventi. La stored procedure ottiene il valore predefinito eseguendo una query sulla tabella degli eventi.

Set di risultati

Nome colonna Tipo di dati Descrizione

EventCount

bigint

Numero di eventi inoltrati nel batch di eventi. Questo numero viene specificato nell'argomento @EventCount oppure ottenuto eseguendo una query sulle tabelle degli eventi.

Osservazioni

Notification Services crea la stored procedure NSEventFlushBatchEventClassName nel database dell'applicazione quando viene creata l'istanza. Quando si aggiorna l'applicazione, Notification Services ricompila la stored procedure.

Questa stored procedure è disponibile nello schema dell'applicazione, specificato dall'elemento SchemaName del file di definizione dell'applicazione (ADF). Se non si specifica un nome di schema, viene utilizzato lo schema predefinito dbo.

Per inoltrare singoli eventi a un'applicazione tramite Transact-SQL, utilizzare NSEventBeginBatchEventClassName per aprire il batch, NSEventWriteEventClassName per scrivere i singoli eventi e NSEventFlushBatchEventClassName per chiudere il batch di eventi.

Se si desidera eseguire una query per ottenere un set di eventi e quindi inviarli a un'applicazione, utilizzare NSEventSubmitBatchEventClassName.

Autorizzazioni

Le autorizzazioni di esecuzione vengono assegnate per impostazione predefinita ai membri dei ruoli di database NSEventProvider e NSRunService, del ruolo predefinito del database db_owner e del ruolo predefinito del server sysadmin.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

Nell'esempio seguente viene illustrato come iniziare un batch di eventi, scrivere un evento e quindi chiudere il batch di eventi. Il provider di eventi per il batch di eventi è StockEP e il numero di identificazione del batch di eventi viene restituito nel parametro di output @BatchID.

L'applicazione utilizza le impostazioni predefinite di SchemaName, che prevedono l'inserimento di tutti gli oggetti dell'applicazione nello schema 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';

In questo esempio si presuppone l'utilizzo di Microsoft SQL Server Management Studio poiché l'ID del batch di eventi viene restituito nell'istruzione SELECT, consentendo di vedere quale batch di eventi è stato creato.

Vedere anche

Riferimento

Stored procedure di Notification Services (Transact-SQL)

Altre risorse

Report sulle prestazioni di Notification Services
SchemaName Element (ADF)

Guida in linea e informazioni

Assistenza su SQL Server 2005