次の方法で共有


GET_TRANSMISSION_STATUS (Transact-SQL)

メッセージ交換の一方の側に関して、最後の転送の状態を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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') ;

次に結果セットを示します。行の長さは調整されています。

状態

-------------------------------

Service Broker プロトコルのトランスポートが無効か、構成されていません。

この場合、SQL Server は Service Broker がネットワーク経由で通信を行うように構成されていません。