NSEventBeginBatch<EventClassName> (Transact-SQL)
Erstellt einen neuen Ereignisbatch für eine Microsoft SQL Server Notification Services-Anwendung. Diese gespeicherte Prozedur wird üblicherweise verwendet, um einen neuen Ereignisbatch zu öffnen, sodass Sie einzelne Ereignisse mithilfe von Transact-SQL übermitteln können. Weitere Informationen hierzu finden Sie im Abschnitt zu den Hinweisen.
Syntax
[ schema_name . ] NSEventBeginBatchEventClassName
[ @ProviderName = ] 'event_provider_name',
[ @EventBatchId = ] event_batch_variable OUTPUT
Argumente
[ @ProviderName =] 'event_provider_name'
Der Name des Ereignisanbieters, der die Ereignisse übermittelt. event_provider_name ist ein Wert vom Datentyp nvarchar(255) und hat keinen Standardwert.
[ @EventBatchId =] event_batch_variable OUTPUT
Die Ereignisbatch-ID, die dem Ereignisbatch zugewiesen wird, wenn der Batch erfolgreich erstellt wurde. event_batch_variable ist eine Ausgabevariable vom Datentyp bigint und hat keinen Standardwert.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Spaltenname | Datentyp | Beschreibung |
---|---|---|
EventBatch |
Bigint |
Die Ereignisbatch-ID, die für den neuen Ereignisbatch erstellt wurde. |
Hinweise
Notification Services erstellt die gespeicherte Prozedur NSEventBeginBatchEventClassName in der Anwendungsdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Anwendung aktualisieren, wird die gespeicherte Prozedur von Notification Services neu kompiliert.
Diese gespeicherte Prozedur befindet sich im Schema der Anwendung, das durch das SchemaName-Element der Anwendungsdefinitionsdatei (ADF, Application Definition File) angegeben wird. Falls kein Schemaname bereitgestellt wurde, wird dbo als Standardschema verwendet.
Zum Übermitteln der einzelnen Ereignisse an eine Anwendung mithilfe von Transact-SQL verwenden Sie NSEventBeginBatchEventClassName, um den Batch zu öffnen, NSEventWriteEventClassName, um einzelne Ereignisse zu schreiben, und NSEventFlushBatchEventClassName, um den Ereignisbatch zu schließen.
Wenn Sie eine Abfrage verwenden, um einen Satz von Ereignissen abzurufen, und diese anschließend an eine Anwendung übermitteln möchten, verwenden Sie NSEventSubmitBatchEventClassName.
Berechtigungen
Standardmäßig verfügen Mitglieder der Datenbankrollen NSEventProvider und NSRunService, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin über Berechtigungen zum Ausführen der gespeicherten Prozedur.
Beispiele
Im folgenden Beispiel wird gezeigt, wie ein Ereignisbatch geöffnet, ein Ereignis geschrieben und der Ereignisbatch anschließend geschlossen wird. StockEP ist der Ereignisanbieter für den Ereignisbatch; die Ereignisbatch-ID wird im @BatchID-Ausgabeparameter zurückgegeben.
Von der Anwendung werden die standardmäßigen SchemaName-Einstellungen verwendet, wodurch alle Anwendungsobjekte im dbo-Schema platziert 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 erkennbar wird, welcher Ereignisbatch erstellt wurde.
Siehe auch
Verweis
Gespeicherte Prozeduren in Notification Services (Transact-SQL)
Andere Ressourcen
Notification Services-Leistungsberichte
SchemaName Element (ADF)