ブローカー:会話イベントクラス

適用対象:SQL ServerAzure SQL Managed Instance

SQL Serverサービスブローカーとの会話の進捗を報告するための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 では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 DB_ID関数を使ってデータベースの値を決定します。 3 はい
EventClass int キャプチャされたイベント クラスの種類。 いつも124Broker:Conversation 27 いいえ
EventSequence int このイベントのシーケンス番号。 51 いいえ
EventSubClass nvarchar イベント サブクラスの種類。 各イベント クラスについての詳細情報を提供します。 21 はい
GUID uniqueidentifier ダイアログのメッセージ交換 ID。 この ID はメッセージの一部として転送され、メッセージ交換の両側で共有されます。 54 いいえ
HostName nvarchar クライアントが実行しているコンピューターの名前。 このデータ列には、クライアントがホスト名を指定している場合にデータが格納されます。 ホスト名を確認するには、 HOST_NAME 関数を使用します。 8 はい
IsSystem int イベントがシステム プロセスとユーザー プロセスのどちらで発生したか。

0 = user
1 = system
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 メッセージ交換ハンドルのロール。 これは initiatortargetのどちらかです。 38 いいえ
ServerName nvarchar トレースしている SQL Serverの インスタンスの名前。 26 いいえ
Severity int このイベントでエラーが報告された場合の SQL Server エラーの重大度。 29 いいえ
SPID int クライアントに関連付けられたプロセスにSQL Serverから割り当てられたセッションIDです。 12 はい
StartTime datetime イベントの開始時刻 (取得できた場合)。 14 はい
TextData ntext メッセージ交換の現在の状態。 次のいずれかの値になります。 1 はい
SO。 送信開始状態。 SQL Serverこの会話のBEGIN CONVERSATIONを処理しましたが、メッセージは送られていません。
SI。 受信開始状態。 別のデータベース エンジンインスタンスが現在のインスタンスと新しい会話を開始しましたが、現在のインスタンスはまだ最初のメッセージを受け取っていません。 SQL Server は、最初のメッセージが断片化されている場合、または SQL Server がメッセージを順番に受信した場合に、この状態で会話を作成する可能性があります。 しかし、SQL Server会話の最初の送信に最初のメッセージが完全に含まれている場合、会話をCO状態に作成することがあります。
CO。 メッセージ交換中状態。 メッセージ交換が確立され、メッセージ交換の両側からメッセージを送信できます。 通常のサービスに関する通信の大部分は、メッセージ交換がこの状態のときに行われます。
DI。 受信切断状態。 遠隔地の会話側が発 END CONVERSATIONを発しました。 この状態は、ローカル側の会話が発信するまで続き、 END CONVERSATIONが出ます。 アプリケーションは引き続きこのメッセージ交換のメッセージを受信できます。 リモート側の会話が会話を終了しているため、アプリケーションはこの会話でメッセージを送信できません。 アプリケーションが END CONVERSATIONを発行すると、会話はクローズド(CD)状態に移行します。
DO。 送信切断状態。 地元の議論側は、 END CONVERSATIONを発しています。 会話はこの状態のまま続き、遠くの側が END CONVERSATIONを認識します。 アプリケーションは会話のためにメッセージを送受信することはできません。 会話の遠隔側が END CONVERSATIONを認識すると、会話はクローズド(CD)状態に移行します。
ER。 エラー : このエンドポイントでエラーが発生しました。 ErrorSeverityStateの各列には、発生した特定のエラーに関する情報が含まれています。
CD。 終了状態。 メッセージ交換のエンドポイントは解放されました。
TransactionID 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サービスブローカーがエラーメッセージを作成するたびにBroker Initiated Errorイベントを生成します。 例えば、サービスブローカーがダイアログのメッセージをうまくルーティングできない場合、ブローカーはそのダイアログに対してエラーメッセージを作成し、このイベントを生成します。 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 つの場合に、未受信メッセージを生成します。

Service Broker によって生成されたエラー メッセージは、キューに格納されません。

メッセージの確認応答は順序がない場合もあります。 効率化のため、Service Brokerは利用可能な確認応答をシーケンスメッセージの一部として含めます。 しかし、アプリケーションが一定期間内にリモートエンドポイントにシーケンス済みメッセージを送信しない場合、Service Brokerはメッセージの確認のためにシーケンスされていないメッセージを作成します。
7 Received END CONVERSATION SQL Server、会話の相手側からEnd Dialogメッセージを受け取ったSQL ServerReceived END CONVERSATIONイベントを生成します。
8 Received END CONVERSATION WITH ERROR SQL Server、会話の相手側からユーザー定義のエラーを受け取ったSQL ServerReceived END CONVERSATION WITH ERRORイベントを生成します。 SQL Serverブローカー定義エラーを受け取った際にはこのイベントSQL Server発生しません。
9 Received Broker Error Message SQL Serverは、サービスブローカーが会話の相手側からブローカー定義のエラーメッセージを受信するとReceived Broker Error Messageイベントを生成します。 SQL Serverは、アプリケーションによって生成されたエラーメッセージをService Brokerが受け取った際にこのイベントを生成しません。

たとえば、現在のデータベースに転送データベースへの既定のルートが含まれている場合、Service Broker は不明なサービス名を持つメッセージを転送データベースにルーティングします。 もしそのデータベースがメッセージをルーティングできない場合、そのデータベース内のブローカーはエラーメッセージを作成し、そのエラーメッセージを現在のデータベースに返します。 現在のデータベースが転送データベースからブローカー生成エラーを受け取ると、現在のデータベースは Received Broker Error Message イベントを生成します。
10 Received END CONVERSATION Ack SQL Server、会話の相手側がこの側から送られたEnd DialogErrorメッセージを認識したときにReceived END CONVERSATION Ackイベントクラスを生成します。
11 BEGIN DIALOG SQL Server データベース エンジンがBEGIN DIALOGコマンドを実行するとBEGIN DIALOGイベントを生成します。
12 Dialog Created SQL Serverサービスブローカーがダイアログ用のエンドポイントを作成するとDialog Createdイベントを生成します。 Service Broker は、現在のデータベースがダイアログのイニシエーターかターゲットかに関係なく、新しいダイアログが確立されるたびにエンドポイントを作成します。
13 END CONVERSATION WITH CLEANUP SQL Server データベース エンジンが WITH CLEANUP 節を含むEND CONVERSATION文を実行するとEND CONVERSATION WITH CLEANUPイベントを生成します。