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 となります。 SQL Server Profiler では、Server Name データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_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 |
不可 |
Priority |
int |
メッセージ交換の優先度レベル。 |
5 |
可 |
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 イベントが生成されます。 |