NSEventWrite<EventClassName> (Transact-SQL)
指定したイベント クラスの対応するイベント テーブルに 1 つのイベントを送信します。このストアド プロシージャを使用するときには、新しいバッチの開始に NSEventBeginBatchEventClassName、バッチの終了に NSEventFlushBatchEventClassName を使用する必要があります。バッチを終了するまでの間に、複数のイベントを送信できます。
構文
[ schema_name . ] NSEventWriteEventClassName
[ @EventBatchId = ] event_batch_ID ,
[ @event_class_field_name = ] event_class_field_value [, ...n]
引数
[ @EventBatchId =] event_batch_ID
イベントに関するイベント バッチの ID を指定します。ここで指定するイベント バッチ ID は、その値がイベント バッチ テーブルに存在する必要があります。event_batch_ID のデータ型は bigint で、既定値はありません。
[ **@**event_class_field_name = ] event_class_field_value
イベント クラスのフィールドに対応する名前/値ペアを指定します。イベント テーブルの各列に対して、event_class_field_name と event_class_field_value のペア 1 つを指定できます。既定値が設定されている列または NULL が許容される列に関しては、この名前/値ペアの指定を省略できます。
結果セット
なし
解説
Microsoft SQL Server Notification Services でインスタンスを作成すると、アプリケーション データベース内に NSEventWriteEventClassName ストアド プロシージャが作成されます。アプリケーションを更新すると、Notification Services ではストアド プロシージャが再コンパイルされます。
このストアド プロシージャは、アプリケーション定義ファイル (ADF) の要素 SchemaName で指定される、アプリケーション スキーマ内に格納されます。スキーマ名が指定されない場合、既定のスキーマ dbo が使用されます。
Transact-SQL を使用して個々のイベントをアプリケーションに送信するには、NSEventBeginBatchEventClassName を使用してバッチを開始し、NSEventWriteEventClassName を使用して個々のイベントを書き込み、NSEventFlushBatchEventClassName を使用してイベント バッチを終了します。
クエリを使用して複数のイベントを取得した後、それらをまとめてアプリケーションに送信する場合は、NSEventSubmitBatchEventClassName を使用します。
権限
既定では、NSEventProvider データベース ロール、NSRunService データベース ロール、db_owner 固定データベース ロール、および sysadmin 固定サーバー ロールのメンバに実行権限が与えられています。
戻り値
0 (成功) または 1 (失敗)
例
次の例では、イベント バッチを開始し、1 つのイベントを書き込んだ後、イベント バッチを終了します。このイベント バッチのイベント プロバイダは StockEP で、イベント バッチの ID 番号は @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 を使用していることを想定しています。イベント バッチの ID は最後の SELECT ステートメントで返されるので、どのイベント バッチが作成されたかを画面で確認できます。
参照
関連項目
Notification Services ストアド プロシージャ (Transact-SQL)
その他の技術情報
Notification Services パフォーマンス レポート
SchemaName 要素 (ADF)