단원 4: 대화 시작
적용 대상:SQL ServerAzure SQL Managed Instance
이 단원에서는 데이터베이스 엔진의 두 인스턴스를 연결하는 대화를 시작하고 초기자 인스턴스에서 대상 인스턴스로 요청 메시지를 보내는 방법을 알아봅니다. 이러한 단계는 초기자 인스턴스와 동일한 컴퓨터에서 실행 중인 Management Studio 복사본에서 실행해야 합니다.
절차
InitiatorDB 데이터베이스로 전환
다음 코드를 복사하여 쿼리 편집기 창에 붙여넣습니다. 그런 다음, 코드를 실행하여 컨텍스트를 InstInitiatorDB 데이터베이스로 전환하고 여기에서 대화를 시작합니다.
USE InstInitiatorDB; GO
대화를 시작하고 요청 메시지 보내기
다음 코드를 복사하여 쿼리 편집기 창에 붙여넣습니다. 그런 다음, 코드를 실행하여 대화를 시작하고 요청 메시지를 InstTargetDB의 //TgtDB/2InstSample/TargetService에 보냅니다. 변수가 BEGIN DIALOG의 대화 핸들을 SEND 문으로 전달하는 데 사용되므로 코드를 한 블록에서 실행해야 합니다. 일괄 처리는 BEGIN DIALOG 문을 실행하여 대화를 시작한 다음 요청 메시지를 작성합니다. 그런 다음 SEND 문의 대화 핸들을 사용하여 해당 대화에 요청 메시지를 보냅니다. 마지막 SELECT 문은 전송된 메시지의 텍스트만 표시합니다.
DECLARE @InitDlgHandle UNIQUEIDENTIFIER; DECLARE @RequestMsg NVARCHAR(100); BEGIN TRANSACTION; BEGIN DIALOG @InitDlgHandle FROM SERVICE [//InstDB/2InstSample/InitiatorService] TO SERVICE N'//TgtDB/2InstSample/TargetService' ON CONTRACT [//BothDB/2InstSample/SimpleContract] WITH ENCRYPTION = ON; SELECT @RequestMsg = N'<RequestMsg>Message for Target service.</RequestMsg>'; SEND ON CONVERSATION @InitDlgHandle MESSAGE TYPE [//BothDB/2InstSample/RequestMessage] (@RequestMsg); SELECT @RequestMsg AS SentRequestMsg; COMMIT TRANSACTION; GO
다음 단계
대화를 성공적으로 시작하고 요청 메시지를 대상 서비스로 보냈습니다. 다음으로 대상 큐에서 요청 메시지를 수신하고 초기자 서비스에 회신 메시지를 보내는 방법을 알아봅니다. 자세한 내용은 단원 5: 요청 수신 및 응답 전송을 참조하세요.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기