Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
Nesta lição, você aprenderá a receber uma mensagem de solicitação da fila de destino e enviar uma mensagem de resposta ao serviço iniciador. Execute estas etapas de uma cópia do Management Studio em execução no mesmo computador que a instância de destino do Mecanismo de Banco de Dados.
Procedimentos
Alternar para o banco de dados TargetDB
Copie e cole o código a seguir em uma janela do Editor de Consultas e execute-o para alternar o contexto para o banco de dados InstTargetDB , onde você recebe a mensagem de solicitação e envia uma mensagem de resposta de volta para o InstInitiatorDB.
USE InstTargetDB; GO
Receber a solicitação e enviar uma resposta
Copie e cole o código a seguir em uma janela do Editor de Consultas. Em seguida, execute-o para receber a mensagem de resposta do InstTargetQueue e retornar uma mensagem de resposta para o iniciador. A
RECEIVEinstrução recupera a mensagem de solicitação e, em seguida, a instrução a seguirSELECTexibe o texto para que você possa verificar se é a mesma mensagem que foi enviada na etapa anterior. AIFinstrução testa se a mensagem recebida é um tipo de mensagem de solicitação e se umaSENDinstrução é usada para enviar uma mensagem de resposta de volta ao iniciador. AEND CONVERSATIONinstrução é usada para encerrar o lado de destino da conversa. A instrução finalSELECTexibe o texto da mensagem de resposta.DECLARE @RecvReqDlgHandle AS UNIQUEIDENTIFIER; DECLARE @RecvReqMsg AS NVARCHAR (100); DECLARE @RecvReqMsgName AS sysname; BEGIN TRANSACTION; WAITFOR (RECEIVE TOP (1) @RecvReqDlgHandle = conversation_handle, @RecvReqMsg = message_body, @RecvReqMsgName = message_type_name FROM InstTargetQueue), TIMEOUT 1000; SELECT @RecvReqMsg AS ReceivedRequestMsg; IF @RecvReqMsgName = N'//BothDB/2InstSample/RequestMessage' BEGIN DECLARE @ReplyMsg AS NVARCHAR (100); SELECT @ReplyMsg = N'<ReplyMsg>Message for Initiator service.</ReplyMsg>'; SEND ON CONVERSATION (@RecvReqDlgHandle) MESSAGE TYPE [//BothDB/2InstSample/ReplyMessage] (@ReplyMsg); END CONVERSATION @RecvReqDlgHandle; END SELECT @ReplyMsg AS SentReplyMsg; COMMIT TRANSACTION; GO
Conteúdo relacionado
- END CONVERSATION (Transact-SQL)
- RECEIVE (Transact-SQL)
- SEND (Transact-SQL)
- WAITFOR (Transact-SQL)
- Aplicativos do Service Broker
Próxima etapa
Você recebeu com êxito a mensagem de solicitação e enviou uma mensagem de resposta ao serviço iniciador. Em seguida, você recebe a mensagem de resposta da fila do iniciador e encerra a conversa.