共用方式為


NSEventSubmitBatch<EventClassName> (Transact-SQL)

建立一個新的事件批次,從查詢中取得一組事件,再提交這些事件,選擇性地執行後置處理查詢,再關閉事件批次。當利用查詢來作為事件來源時,和 NSEventWriteEventClassName 預存程序不同,您可以每次提交多個事件。

語法

[ schema_name . ] SEventSubmitBatchEventClassName
    [ @ProviderName = ] 'event_provider_name',
    [ @EventsQuery = ] 'selection_query',
    [ @PostQuery = ] 'post_processing_query' 

引數

[ @ProviderName = ] 'provider_name'

這是提交事件的事件提供者名稱。provider_namenvarchar(255),它必須是應用程式定義檔案 (ADF) 所指定的事件提供者之一。

[ @EventsQuery = ] 'selection_query'

這是 Transact-SQL 查詢的文字,用來選取將提交為事件的記錄。查詢所產生的記錄,結構描述必須符合要提交的事件資料表之結構描述。selection_querynvarchar(4000)

[ @PostQuery = ] 'post_processing_query'

這是 Transact-SQL 查詢的文字,用來進行任何後置處理的清除或狀態維護,如更新紀事輯資料表或刪除任何暫存物件。post_processing_querynvarchar(4000)

傳回碼值

0 (成功) 或 1 (失敗)

結果集

資料行名稱 資料類型 描述

EventCount

bigint

事件批次中所提交的事件數目。這個數目是藉由查詢事件資料表而取得的。

備註

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

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

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

權限

執行權限預設會授與 NSEventProviderNSRunService 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。

範例

下列範例會顯示如何利用 NSEventSubmitBatchStockEvents 預存程序來從 Market 資料庫的 Stocks 資料表中取得股票名稱和價格,再將資料寫入 NSStockEventsEvents 資料表中。查詢會指定一個空的後置處理查詢。

應用程式使用預設的 SchemaName 設定,這項設定會將所有應用程式物件放在 dbo 結構描述中。

EXEC dbo.NSEventSubmitBatchStockEvents
    @ProviderName = N'StockEP', 
    @EventsQuery = 'SELECT StockSymbol, StockPrice 
                    FROM Market.dbo.Stocks', 
    @PostQuery = '';

請參閱

參考

Notification Services 預存程序 (Transact-SQL)

其他資源

Notification Services 效能報告
SchemaName Element (ADF)

說明及資訊

取得 SQL Server 2005 協助