단원 6: 응답 수신 및 대화 종료

적용 대상:SQL ServerAzure SQL Managed Instance

이 단원에서는 대상 서비스에서 회신 메시지를 받고 대화를 종료하는 방법을 배웁니다. SSMS(SQL Server Management Studio)를 열고 Service Broker 초기자가 있는 SQL Server에 연결합니다. 그런 다음, SSMS의 쿼리 창에서 다음 단계를 실행합니다.

절차

InitiatorDB 데이터베이스로 전환

  • 다음 코드를 복사하여 쿼리 편집기 창에 붙여넣습니다. 그런 다음, 코드를 실행하여 컨텍스트를 InstInitiatorDB 데이터베이스로 되돌리고 여기에서 응답 메시지를 받고 대화를 종료합니다.

        USE InstInitiatorDB;
        GO
    

회신 메시지 수신 및 대화 종료

  • 다음 코드를 복사하여 쿼리 편집기 창에 붙여넣습니다. 그런 다음 실행하여 회신 메시지를 수신하고 대화를 종료합니다. RECEIVE 문은 InstInitiatorQueue에서 응답 메시지를 검색합니다. END CONVERSATION 문은 초기자 쪽의 대화를 종료하는 데 사용됩니다. 마지막 SELECT 문은 마지막 단계에서 보낸 것과 동일한지 확인할 수 있도록 회신 메시지의 텍스트를 표시합니다.

        DECLARE @RecvReplyMsg NVARCHAR(100);
        DECLARE @RecvReplyDlgHandle UNIQUEIDENTIFIER;
    
        BEGIN TRANSACTION;
    
        WAITFOR
        ( RECEIVE TOP(1)
            @RecvReplyDlgHandle = conversation_handle,
            @RecvReplyMsg = message_body
          FROM InstInitiatorQueue
        ), TIMEOUT 1000;
    
        END CONVERSATION @RecvReplyDlgHandle;
    
        -- Display recieved request.
        SELECT @RecvReplyMsg AS ReceivedReplyMsg;
    
        COMMIT TRANSACTION;
        GO
    

다음 단계

이것으로 자습서를 마칩니다. 자습서는 간략한 소개만 제공합니다. 사용 가능한 모든 옵션이 설명되어 있지 않습니다. 자습서는 간소화된 논리 및 오류 처리를 사용하므로 프로덕션 환경에서는 사용하지 않아야 합니다. 효율적이고 안정적이며 강력한 대화를 만들려면 이 자습서의 예제보다 더 복잡한 코드가 필요합니다.

참고 항목