MOVE CONVERSATION (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

メッセージ交換を、別のメッセージ交換グループに移動します。

Transact-SQL 構文表記規則

構文

MOVE CONVERSATION conversation_handle  
   TO conversation_group_id  
[ ; ]  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

conversation_handle
移動するメッセージ交換のメッセージ交換ハンドルを含む、変数または定数。 conversation_handle は型 uniqueidentifier にする必要があります。

TO conversation_group_id
メッセージ交換の移動先となるメッセージ交換グループの識別子を含む、変数または定数。 conversation_group_id は型 uniqueidentifier にする必要があります。

注釈

MOVE CONVERSATION ステートメントは、conversation_handle で指定されたメッセージ交換を、conversation_group_id で識別されるメッセージ交換グループに移動します。 同じキューに関連付けられているメッセージ交換グループ間でのみ、ダイアログをリダイレクトできます。

重要

MOVE CONVERSATION ステートメントがバッチまたはストアド プロシージャで最初のステートメントではない場合は、前のステートメントの後に、Transact-SQL ステートメントのターミネータであるセミコロン (;) を指定する必要があります。

MOVE CONVERSATION ステートメントは、ステートメントを含むトランザクションがコミットまたはロールバックされるまで、conversation_handle に関連付けられているメッセージ交換グループ、および conversation_group_id で指定されたメッセージ交換グループをロックします。

ユーザー定義の関数では、MOVE CONVERSATION は無効です。

アクセス許可

メッセージ交換を移動するには、そのメッセージ交換およびメッセージ交換グループの所有者であるか、固定サーバー ロール sysadmin または固定データベース ロール db_owner のメンバーである必要があります。

次の例では、メッセージ交換を別のメッセージ交換グループに移動します。

DECLARE @conversation_handle UNIQUEIDENTIFIER,  
        @conversation_group_id UNIQUEIDENTIFIER ;  
  
SET @conversation_handle =  
    <retrieve conversation handle from database> ;  
SET @conversation_group_id =  
    <retrieve conversation group ID from database> ;  
  
MOVE CONVERSATION @conversation_handle TO @conversation_group_id ;  

関連項目

BEGIN DIALOG CONVERSATION (Transact-SQL)
GET CONVERSATION GROUP (Transact-SQL)
END CONVERSATION (Transact-SQL)
sys.conversation_groups (Transact-SQL)
sys.conversation_endpoints (Transact-SQL)