Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Os aplicativos do Service Broker são compostos por um ou mais programas e os objetos de banco de dados que esses programas usam. Os aplicativos se comunicam criando conversas entre componentes independentes chamados serviços e, em seguida, trocando mensagens dentro dessas conversas. Os aplicativos usam o Service Broker executando instruções Transact-SQL em um banco de dados do SQL Server.
Componentes de aplicação
Um aplicativo do Service Broker é composto por:
Um ou mais programas que implementam uma tarefa ou um conjunto de tarefas relacionado. Fora do SQL Server, os aplicativos podem ser escritos em qualquer ambiente de programação que possa executar instruções Transact-SQL no SQL Server. Dentro do SQL Server, os aplicativos podem ser escritos 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 este serviço para executar as tarefas.
Um contrato e tipos de mensagem que definem a estrutura e direção das mensagens que são usadas nas comunicações entre os serviços.
Uma fila para guardar mensagens destinadas ao serviço.
Opcionalmente, rotas e ligações de serviço remoto. As rotas associam um endereço de rede ao nome de um serviço remoto. As associações de serviço remoto associam um nome de serviço a uma entidade de banco de dados local. O Service Broker usa o certificado associado à entidade de segurança especificada para lidar com a autorização para o serviço remoto e a criptografia das mensagens trocadas com o serviço remoto. O Service Broker permite que as rotas e as ligações de serviço remoto sejam configuradas enquanto o aplicativo está em implantação 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 ligações de serviço remoto, consulte Administração (Service Broker).
Corretor de Serviços DML
Normalmente, um aplicativo configura os objetos de definição de serviço no momento da instalação. Durante a execução, o aplicativo envia e recebe mensagens usando o DML (Service Broker Data Manipulation Language). As declarações DML se enquadram em três grandes categorias: mensagens, conversas e grupos de conversa:
Messages
O Service Broker fornece as seguintes operações para dar suporte ao trabalho com mensagens:
A
SENDdeclaração envia uma mensagem sobre uma conversa específica.A instrução
RECEIVErecebe uma ou mais mensagens de uma fila. Todas as mensagens recebidas pertencem ao mesmo grupo de conversação.
Conversas
O Service Broker fornece as seguintes operações para dar suporte ao trabalho com conversas:
A
BEGIN DIALOG CONVERSATIONdeclaração inicia uma conversa entre dois serviços. Como a conversa envolve exatamente dois serviços, a conversa é um diálogo.A
END CONVERSATIONdeclaração encerra um dos lados de uma conversa.A instrução
BEGIN CONVERSATION TIMERentrega uma mensagem de temporizador de diálogo para um dos lados de uma conversa num 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 for bem-sucedida, a instrução não retornará uma descrição.
Grupos de conversação
O Service Broker fornece duas operações para trabalhar com grupos de conversação:
A
GET CONVERSATION GROUPinstrução retorna o identificador do grupo de conversação para a próxima mensagem a ser recebida na fila. A declaração também bloqueia o grupo de conversa.A
MOVE CONVERSATIONdeclaração move uma conversa de um grupo de conversação para outro. A instrução bloqueia o grupo de conversação original e o grupo de conversação de destino.
Conteúdo relacionado
- INICIAR TEMPORIZADOR DE CONVERSAÇÃO (Transact-SQL)
- INICIAR CONVERSA DE DIÁLOGO (Transact-SQL)
- MOVER CONVERSA (Transact-SQL)
- OBTER GRUPO DE CONVERSAÇÃO (Transact-SQL)
- ENVIAR (Transact-SQL)
- TERMINAR CONVERSA (Transact-SQL)
- GET_TRANSMISSION_STATUS (Transact-SQL)
- RECEBER (Transact-SQL)
- Contratos
- Conversas de diálogo
- Grupos de conversação
- Tipos de mensagem
- Messages
- Filas
- Services
- Crie aplicativos com o Service Broker
- Ligações de serviço remoto
- Rotas