共用方式為


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_nameevent_class_field_value 組。如果資料行有預設值或接受 NULL,就不需要名稱/值組。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

Microsoft SQL Server Notification Services 會在應用程式資料庫中建立 NSEventWriteEventClassName 預存程序 (當您建立執行個體時)。當您更新應用程式時,Notification Services 會重新編譯預存程序。

這個預存程序在應用程式定義檔案 (ADF) 的 SchemaName 元素所指定的應用程式結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo

若要利用 Transact-SQL 將個別事件提交給應用程式,請利用 NSEventBeginBatchEventClassName 來開啟批次,利用 NSEventWriteEventClassName 來寫入個別事件,利用 NSEventFlushBatchEventClassName 來關閉事件批次。

若要利用查詢來取得一組事件,再將它們提供給應用程式,請使用 NSEventSubmitBatchEventClassName

權限

執行權限預設會授與 NSEventProviderNSRunService 資料庫角色、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)

說明及資訊

取得 SQL Server 2005 協助