NSEventWrite<EventClassName> (Transact-SQL)
提交一項事件類別的事件給事件資料表。您必須利用 NSEventBeginBatchEventClassName 來開啟新的批次,利用 NSEventFlushBatchEventClassName 來關閉批次。您可以在關閉批次之前,提交多項事件。
語法
[ schema_name . ] NSEventWriteEventClassName
[ @EventBatchId = ] event_batch_ID ,
[ @event_class_field_name = ] event_class_field_value [, ...n]
引數
[ @EventBatchId = ] event_ batch_ID
這是事件之事件批次的識別碼。事件批次識別碼必須在事件批次資料表中。event_batch_IDe 是 bigint,沒有預設值。
[ **@**event_class_field_name = ] event_class_field_value
請提供事件類別欄位的名稱/值組。您可以針對事件資料表中的每個資料行各提供一個 event_class_field_name 和 event_class_field_value 組。如果資料行有預設值或接受 NULL,就不需要名稱/值組。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
無
備註
Microsoft SQL Server Notification Services 會在應用程式資料庫中建立 NSEventWriteEventClassName 預存程序 (當您建立執行個體時)。當您更新應用程式時,Notification Services 會重新編譯預存程序。
這個預存程序在應用程式定義檔案 (ADF) 的 SchemaName 元素所指定的應用程式結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo。
若要利用 Transact-SQL 將個別事件提交給應用程式,請利用 NSEventBeginBatchEventClassName 來開啟批次,利用 NSEventWriteEventClassName 來寫入個別事件,利用 NSEventFlushBatchEventClassName 來關閉事件批次。
若要利用查詢來取得一組事件,再將它們提供給應用程式,請使用 NSEventSubmitBatchEventClassName。
權限
執行權限預設會授與 NSEventProvider 和 NSRunService 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
下列範例會顯示如何起始事件批次、寫入事件,再關閉事件批次。事件批次的事件提供者是 StockIP,事件批次識別碼是在 @BatchID 輸出參數中傳回。
應用程式使用預設的 SchemaName 設定,這項設定會將所有應用程式物件放在 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';
這個範例假設您使用 SQL Server Management Studio,因為 SELECT 陳述式會傳回事件批次識別碼,因此,您可以看出建立了哪些事件批次。
請參閱
參考
Notification Services 預存程序 (Transact-SQL)
其他資源
Notification Services 效能報告
SchemaName Element (ADF)