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) です。
結果セット
列名 | データ型 | 説明 |
---|---|---|
EventCount |
bigint |
イベント バッチで送信されたイベントの数。この値は、イベント テーブルへの問い合わせによって算出されます。 |
解説
Microsoft SQL Server Notification Services でインスタンスを作成すると、アプリケーション データベース内に NSEventSubmitBatchEventClassName ストアド プロシージャが生成されます。アプリケーションを更新すると、Notification Services ではストアド プロシージャが再コンパイルされます。
このストアド プロシージャは、アプリケーション定義ファイル (ADF) の要素 SchemaName で指定される、アプリケーション スキーマ内に格納されます。スキーマ名が指定されない場合、既定のスキーマ dbo が使用されます。
Transact-SQL を使用して個々のイベントをアプリケーションに送信するには、NSEventBeginBatchEventClassName を使用してバッチを開始し、NSEventWriteEventClassName を使用して個々のイベントを書き込み、NSEventFlushBatchEventClassName を使用してイベント バッチを終了します。
権限
既定では、NSEventProvider データベース ロール、NSRunService データベース ロール、db_owner 固定データベース ロール、および sysadmin 固定サーバー ロールのメンバに実行権限が与えられています。
戻り値
0 (成功) または 1 (失敗)
例
次の例では、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 要素 (ADF)