Broker:Conversation イベント クラス
SQL Server では、Service Broker メッセージ交換の進行状況を報告するために、Broker:Conversation イベントが生成されます。
Broker:Conversation イベント クラスのデータ列
データ列 | データ型 | 説明 | 列番号 | フィルタの適用 |
---|---|---|---|---|
ApplicationName |
nvarchar |
SQL Server のインスタンスへの接続を作成したクライアント アプリケーションの名前。この列には、プログラムの表示名ではなくアプリケーションによって渡された値が格納されます。 |
10 |
可 |
ClientProcessID |
int |
クライアント アプリケーションが実行されているプロセスに対し、ホスト コンピュータによって割り当てられた ID。クライアントでクライアント プロセス ID が指定されると、このデータ列が作成されます。 |
9 |
可 |
DatabaseID |
int |
USE database ステートメントによって指定されたデータベースの ID。USE databaseステートメントが特定のインスタンスに対して発行されていない場合は、既定のデータベースの ID です。Server Name データ列がトレースでキャプチャされ、サーバーが使用可能な場合、SQL Server Profiler でデータベースの名前が表示されます。DB_ID 関数を使用して、データベース ID の値を特定します。 |
3 |
可 |
EventClass |
int |
キャプチャされたイベント クラスの種類。Broker:Conversation の場合は、常に 124 です。 |
27 |
不可 |
EventSequence |
int |
このイベントのシーケンス番号。 |
51 |
不可 |
EventSubClass |
nvarchar |
イベント サブクラスの種類です。各イベントクラスについての詳細な情報を提供します。 |
21 |
可 |
GUID |
uniqueidentifier |
ダイアログのメッセージ交換 ID。この ID はメッセージの一部として転送され、メッセージ交換の両側で共有されます。 |
54 |
不可 |
HostName |
nvarchar |
クライアントが実行しているコンピュータの名前。このデータ列には、クライアントがホスト名を指定している場合にデータが格納されます。ホスト名を特定するには、HOST_NAME 関数を使用します。 |
8 |
可 |
IsSystem |
int |
システム プロセスまたはユーザー プロセスのどちらでイベントが発生したのかを示します。 0 = ユーザー 1 = システム |
60 |
不可 |
LoginSid |
image |
ログイン ユーザーのセキュリティ ID 番号 (SID)。各 SID はサーバーのログインごとに一意です。 |
41 |
可 |
MethodName |
nvarchar |
このメッセージ交換が属しているメッセージ交換グループ。 |
47 |
不可 |
NTDomainName |
nvarchar |
ユーザーが属している Windows ドメイン。 |
7 |
可 |
NTUserName |
nvarchar |
このイベントが生成された接続を所有するユーザーの名前。 |
6 |
可 |
ObjectName |
nvarchar |
ダイアログのメッセージ交換ハンドル。 |
34 |
不可 |
RoleName |
nvarchar |
メッセージ交換ハンドルのロール。これは initiator または target のいずれかです。 |
38 |
不可 |
ServerName |
nvarchar |
トレースされる SQL Server のインスタンスの名前。 |
26 |
不可 |
Severity |
int |
SQL Server エラーの重大度 (このイベントによってエラーが報告された場合)。 |
29 |
不可 |
SPID |
int |
クライアントに関連付けられているプロセスに、SQL Server が割り当てたサーバー プロセス ID。 |
12 |
可 |
StartTime |
datetime |
イベントが開始された時刻 (取得できた場合)。 |
14 |
可 |
TextData |
ntext |
メッセージ交換の現在の状態。次のうちのいずれかです。
|
1 |
可 |
Transaction ID |
bigint |
トランザクションに対してシステムが割り当てた ID。 |
4 |
不可 |
次の表に、このイベント クラスのサブクラス値を示します。
ID | サブクラス | 説明 |
---|---|---|
1 |
SEND Message |
SQL Server では、データベース エンジンで SEND ステートメントが実行されるときに、SEND Message イベントが生成されます。 |
2 |
END CONVERSATION |
SQL Server では、データベース エンジンで WITH ERROR 句を指定しない END CONVERSATION ステートメントが実行されるときに、END CONVERSATION イベントが生成されます。 |
3 |
END CONVERSATION WITH ERROR |
SQL Server では、データベース エンジンで WITH ERROR 句を指定した END CONVERSATION ステートメントが実行されるときに、END CONVERSATION WITH ERROR イベントが生成されます。 |
4 |
Broker Initiated Error |
SQL Server では、Service Broker でエラー メッセージが作成されると、必ず Broker Initiated Error イベントが生成されます。たとえば、Service Broker が対話のためにメッセージをルーティングできなかったときは、ブローカはその対話のエラー メッセージを作成し、このイベントを生成します。アプリケーション プログラムがエラーでメッセージ交換を終了しても、SQL Server でこのイベントが生成されることはありません。 |
5 |
Terminate Dialog |
Service Broker が対話を終了しました。Service Broker で、対話の続行を妨げる条件に対応して、対話を終了しましたが、この条件はエラーやメッセージ交換の通常の終了ではありません。たとえば、サービスを削除すると、Service Broker はそのサービスの対話をすべて終了します。 |
6 |
Received Sequenced Message |
SQL Server では、SQL Server でメッセージ シーケンス番号を含むメッセージを受信するときに、Received Sequenced Message イベント クラスが生成されます。すべてのユーザー定義メッセージ型はシーケンス番号付きメッセージです。Service Broker では、次の 2 つの場合にシーケンス番号のないメッセージが生成されます。
|
7 |
Received END CONVERSATION |
SQL Server では、SQL Server がメッセージ交換の相手から End Dialog メッセージを受信するときに、Received END CONVERSATION イベントが生成されます。 |
8 |
Received END CONVERSATION WITH ERROR |
SQL Server では、SQL Server がメッセージ交換の相手からユーザー定義エラーを受信するときに、Received END CONVERSATION WITH ERROR イベントが生成されます。SQL Server が受信したエラーがブローカ定義のエラーの場合は、SQL Server でこのイベントが生成されないことに注意してください。 |
9 |
Received Broker Error Message |
SQL Server では、Service Broker がメッセージ交換の相手側からブローカ定義のエラー メッセージを受信するときに、Received Broker Error Message イベントが生成されます。Service Broker が受信したエラー メッセージがアプリケーションで生成されたメッセージの場合は、SQL Server ではこのイベントは生成されません。 たとえば、現在のデータベースに転送先のデータベースへの既定のルートが含まれている場合、Service Broker ではサービス名が不明なメッセージをその転送先にルーティングします。転送先のデータベースがメッセージをルーティングできない場合、そのデータベースのブローカでエラー メッセージが作成され、現在のデータベースに返されます。現在のデータベースが転送先のデータベースからブローカが生成したエラーを受信すると、現在のデータベースで Received Broker Error Message イベントが生成されます。 |
10 |
Received END CONVERSATION Ack |
SQL Server では、メッセージ交換のこちら側から送信された End Dialog メッセージまたは Error メッセージの受信が相手側で確認されるときに、Received END CONVERSATION Ack イベント クラスが生成されます。 |
11 |
BEGIN DIALOG |
SQL Server では、データベース エンジンで BEGIN DIALOG コマンドが実行されるときに、BEGIN DIALOG イベントが生成されます。 |
12 |
Dialog Created |
SQL Server では、Service Broker で対話のエンドポイントが作成されるときに、Dialog Created イベントが生成されます。新しい対話が確立されると、現在のデータベースが対話の開始側か相手側かにかかわらず、Service Broker でエンドポイントが作成されます。 |
13 |
END CONVERSATION WITH CLEANUP |
SQL Server では、データベース エンジンで WITH CLEANUP 句を指定した END CONVERSATION ステートメントが実行されるときに、END CONVERSATION WITH CLEANUP イベントが生成されます。 |
参照
その他の技術情報
Service Broker の概要
メッセージ交換のアーキテクチャ