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
Os aplicativos do Service Broker são constituídos por um ou mais programas e pelos objetos de banco de dados que esses programas usam. Os aplicativos se comunicam criando conversas entre componentes independentes chamados serviços e trocando mensagens nessas conversas. Os aplicativos usam o Service Broker executando instruções Transact-SQL em um banco de dados do SQL Server.
Componentes do aplicativo
Um aplicativo do Service Broker é composto de:
Um ou mais programas que implementam uma tarefa ou um conjunto relacionado de tarefas. Fora do SQL Server, os aplicativos podem ser gravados em qualquer ambiente de programação que possa executar instruções Transact-SQL no SQL Server. Dentro do SQL Server, os aplicativos podem ser gravados como procedimentos armazenados usando Transact-SQL ou uma linguagem compatível com CLR (common language runtime).
Um serviço que expõe as tarefas a outros serviços. Um serviço é um objeto do Service Broker que fornece um nome endereçável para um conjunto de tarefas relacionadas. Outros serviços iniciam conversas com esse serviço para executar as tarefas.
Um contrato e tipos de mensagem que definem a estrutura e a direção das mensagens usadas na comunicação entre os serviços.
Uma fila para manter as mensagens para o serviço.
Opcionalmente, rotas e associações de serviço remoto. Rotas associadas a endereço de rede com o nome de um serviço remoto. Associações de serviço remoto associam um nome de serviço a um banco de dados principal. O Service Broker usa o certificado associado à entidade especificada para controlar autorizações para o serviço remoto e a criptografia das mensagens trocadas com o serviço remoto. O Service Broker permite que rotas e associações de serviço remoto sejam configuradas enquanto o aplicativo está sendo implantado, sem exigir alterações no aplicativo. Isso permite que os administradores movam serviços e alterem credenciais de segurança sem alterações no código do aplicativo. Para obter mais informações sobre como configurar rotas e associações de serviço remoto, confira Administração (Service Broker).
DML do Service Broker
Geralmente, um aplicativo instala os objetos de definição do serviço no momento da instalação. Durante a execução, o aplicativo envia e recebe mensagens usando DML (Linguagem de Manipulação de Dados) do Service Broker. As instruções DML se enquadram em três grandes categorias: mensagens, conversas e grupos de conversa:
Mensagens
O Service Broker fornece as seguintes operações para dar suporte a trabalho com mensagens:
A
SENDdeclaração envia uma mensagem em uma conversação específica.A
RECEIVEinstrução recebe uma ou mais mensagens de uma fila. Todas as mensagens recebidas pertencem ao mesmo grupo de conversa.
Conversas
O Service Broker fornece as seguintes operações para dar suporte a trabalho com conversas:
A
BEGIN DIALOG CONVERSATIONinstrução inicia uma conversa entre dois serviços. Como a conversa envolve exatamente dois serviços, a conversa é um diálogo.A
END CONVERSATIONinstrução termina uma parte da conversa.A instrução
BEGIN CONVERSATION TIMERfornece uma mensagem de temporizador da conversa para um dos lados da conversa em um momento específico.A
GET_TRANSMISSION_STATUSinstrução retorna uma descrição do último erro de transmissão de uma conversa. Se a última tentativa de transmitir uma mensagem para a conversa tiver sido bem-sucedida, a instrução não retornará uma descrição.
Grupos de conversa
O Service Broker fornece duas operações para trabalhar com grupos de conversa:
A instrução
GET CONVERSATION GROUPretorna o identificador do grupo de conversa para a próxima mensagem recebível em uma fila. A instrução também bloqueia o grupo de conversa.A
MOVE CONVERSATIONinstrução move uma conversa de um grupo de conversa para outro. A instrução bloqueia o grupo de conversa original e o grupo de conversa de destino.
Conteúdo relacionado
- BEGIN CONVERSATION TIMER (Transact-SQL)
- BEGIN DIALOG CONVERSATION (Transact-SQL)
- MOVE CONVERSATION (Transact-SQL)
- OBTER GRUPO DE CONVERSAÇÃO (Transact-SQL)
- SEND (Transact-SQL)
- END CONVERSATION (Transact-SQL)
- GET_TRANSMISSION_STATUS (Transact-SQL)
- RECEIVE (Transact-SQL)
- Contratos
- Conversas de diálogo
- Grupos de conversa
- Tipos de mensagem
- Mensagens
- Filas
- Serviços
- Criar aplicativos com o Service Broker
- Associações de serviço remoto
- Rotas