次の方法で共有


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_nameevent_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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手