Share via


NSEventWrite<EventClassName> (Transact-SQL)

Übermittelt ein Ereignis an die Ereignistabelle für die Ereignisklasse. Öffnen Sie einen neuen Batch mithilfe von NSEventBeginBatchEventClassName, und schließen Sie den Batch mithilfe von NSEventFlushBatchEventClassName. Vor dem Schließen des Batchs können Sie mehrere Ereignisse übermitteln.

Syntax

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

Argumente

[ @EventBatchId = ] event_ batch_ID

Ist die ID des Ereignisbatchs für das Ereignis. Die Ereignisbatch-ID muss in der Tabelle der Ereignisbatches vorhanden sein. event_batch_ID ist ein Wert vom Datentyp bigint und weist keinen Standardwert auf.

[ **@**event_class_field_name = ] event_class_field_value

Stellt ein Name/Wert-Paar für ein Ereignisklassenfeld bereit. Für jede Spalte in der Ereignistabelle kann ein Paar aus event_class_field_name und event_class_field_value bereitgestellt werden. Wenn die Spalte einen Standardwert aufweist oder NULL akzeptiert, ist das Name/Wert-Paar nicht erforderlich.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Microsoft SQL Server Notification Services erstellt die gespeicherte Prozedur NSEventWriteEventClassName in der Anwendungsdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Anwendung aktualisieren, kompiliert Notification Services die gespeicherte Prozedur erneut.

Diese gespeicherte Prozedur ist Bestandteil des Anwendungsschemas, das durch das SchemaName-Element der Anwendungsdefinitionsdatei angegeben wird. Wenn kein Schemaname bereitgestellt wird, ist dbo das Standardschema.

Wenn Sie einzelne Ereignisse an eine Anwendung mithilfe von Transact-SQL übermitteln möchten, verwenden Sie NSEventBeginBatchEventClassName zum Öffnen des Batchs, NSEventWriteEventClassName zum Schreiben einzelner Ereignisse und NSEventFlushBatchEventClassName zum Schließen des Ereignisbatchs.

Wenn Sie eine Reihe von Ereignissen mithilfe einer Abfrage abrufen und diese dann an eine Anwendung übermitteln möchten, verwenden Sie NSEventSubmitBatchEventClassName.

Berechtigungen

Die Ausführungsberechtigungen erhalten standardmäßig Mitglieder der Datenbankrollen NSEventProvider und NSRunService, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin.

Beispiele

Im folgenden Beispiel wird das Öffnen eines Ereignisbatchs, das Schreiben eines Ereignisses und das anschließende Schließen des Ereignisbatchs veranschaulicht. Der Ereignisanbieter für den Ereignisbatch ist StockEP; die Ereignisbatch-ID wird im @BatchID-Ausgabeparameter zurückgegeben.

Für die Anwendung werden die SchemaName-Standardeinstellungen verwendet, worunter alle Anwendungsobjekte im dbo-Schema angeordnet werden.

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 diesem Beispiel wird davon ausgegangen, dass Sie SQL Server Management Studio verwenden, da die Ereignisbatch-ID in der SELECT-Anweisung zurückgegeben wird, damit der erstellte Ereignisbatch erkennbar wird.

Siehe auch

Verweis

Gespeicherte Prozeduren in Notification Services (Transact-SQL)

Andere Ressourcen

Notification Services-Leistungsberichte
SchemaName Element (ADF)

Hilfe und Informationen

Informationsquellen für SQL Server 2005