NSEventSubmitBatch<EventClassName> (Transact-SQL)
建立一個新的事件批次,從查詢中取得一組事件,再提交這些事件,選擇性地執行後置處理查詢,再關閉事件批次。當利用查詢來作為事件來源時,和 NSEventWriteEventClassName 預存程序不同,您可以每次提交多個事件。
語法
[ schema_name . ] SEventSubmitBatchEventClassName
[ @ProviderName = ] 'event_provider_name',
[ @EventsQuery = ] 'selection_query',
[ @PostQuery = ] 'post_processing_query'
引數
[ @ProviderName = ] 'provider_name'
這是提交事件的事件提供者名稱。provider_name 是 nvarchar(255),它必須是應用程式定義檔案 (ADF) 所指定的事件提供者之一。
[ @EventsQuery = ] 'selection_query'
這是 Transact-SQL 查詢的文字,用來選取將提交為事件的記錄。查詢所產生的記錄,結構描述必須符合要提交的事件資料表之結構描述。selection_query 是 nvarchar(4000)。
[ @PostQuery = ] 'post_processing_query'
這是 Transact-SQL 查詢的文字,用來進行任何後置處理的清除或狀態維護,如更新紀事輯資料表或刪除任何暫存物件。post_processing_query 是 nvarchar(4000)。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
EventCount |
bigint |
事件批次中所提交的事件數目。這個數目是藉由查詢事件資料表而取得的。 |
備註
Microsoft SQL Server Notification Services 會在應用程式資料庫中建立 NSEventSubmitBatchEventClassName 預存程序 (當您建立執行個體時)。當您更新應用程式時,Notification Services 會重新編譯預存程序。
這個預存程序在應用程式定義檔案 (ADF) 的 SchemaName 元素所指定的應用程式結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo。
若要利用 Transact-SQL 將個別事件提交給應用程式,請利用 NSEventBeginBatchEventClassName 來開啟批次,利用 NSEventWriteEventClassName 來寫入個別事件,利用 NSEventFlushBatchEventClassName 來關閉事件批次。
權限
執行權限預設會授與 NSEventProvider 和 NSRunService 資料庫角色、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)