適用対象: SQL Server
Azure SQL Managed Instance
メッセージ交換の一方の側に関して、最後の転送の状態を返します。
構文
GET_TRANSMISSION_STATUS ( conversation_handle )
引数
conversation_id
メッセージ交換で使用するメッセージ交換ハンドルを指定します。 このパラメーターは uniqueidentifier 型です。
戻り値の型
nchar
解説
指定したメッセージ交換に関する、最後の転送試行の状態を説明する文字列を返します。 最後の転送が成功した場合、転送がまだ試行されていない場合、または conversation_handle が存在しない場合は、空の文字列が返されます。
この関数で返される情報は、管理ビュー sys.transmission_queue の last_transmission_error 列で表示される情報と同じです。 ただし、この関数を使用すると、転送キューに現在メッセージがないメッセージ交換の転送状態を検出できます。
注意
GET_TRANSMISSION_STATUS では、現在のインスタンスにメッセージ交換エンドポイントを持たないメッセージの情報は提供されません。 つまり、転送されるメッセージの情報は使用できません。
例
次の例では、メッセージ交換ハンドル 58ef1d2d-c405-42eb-a762-23ff320bddf0 とのメッセージ交換に関する転送状態がレポートされます。
SELECT Status =
GET_TRANSMISSION_STATUS('58ef1d2d-c405-42eb-a762-23ff320bddf0') ;
次に結果セットを示します。行の長さは編集されています。
Status
-------------------------------
The Service Broker protocol transport is disabled or not configured.
この場合、SQL Server は Service Broker がネットワーク経由で通信を行うように構成されていません。
参照
sys.conversation_endpoints (Transact-SQL)
sys.transmission_queue (Transact-SQL)