Condividi tramite


NSEventWrite<EventClassName> (Transact-SQL)

Invia un evento alla tabella degli eventi per la classe di evento. È necessario utilizzare NSEventBeginBatchEventClassName per aprire un nuovo batch e NSEventFlushBatchEventClassName per chiuderlo. È possibile inviare più eventi prima di chiudere il batch.

Sintassi

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

Argomenti

[ @EventBatchId = ] event_ batch_ID

ID del batch di eventi per l'evento. L'ID del batch di eventi deve esistere nella tabella dei batch di eventi. event_batch_ID è di tipo bigint e non prevede alcun valore predefinito.

[ **@**event_class_field_name = ] event_class_field_value

Coppia nome/valore per un campo relativo della classe di evento. È necessario specificare una coppia event_class_field_name e event_class_field_value per ogni colonna nella tabella di eventi. Se la colonna contiene un valore predefinito oppure accetta il valore NULL, la coppia nome/valore non è richiesta.

Set di risultati

Nessuno

Osservazioni

Microsoft SQL Server Notification Services crea la stored procedure NSEventWriteEventClassName nel database dell'applicazione durante la creazione dell'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.

Per utilizzare una query per ottenere un set di eventi e quindi inviare tale set 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 creare un batch di eventi, scrivere un evento e quindi chiudere il batch. Il provider di eventi per il batch di eventi è StockEP e l'ID 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';

Nell'esempio si presuppone l'utilizzo di SQL Server Management Studio perché l'ID del batch di eventi viene restituito nell'istruzione SELECT in modo da poter riconoscere il batch di eventi 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