evento
Obtenha a certificação no Microsoft Fabric — gratuitamente!
19/11, 23 - 10/12, 23
Por um tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
O SQL Server Agente de Serviço fornece suporte nativo a mensagens e enfileiramento no Mecanismo de Banco de Dados do SQL Server e na Instância Gerenciada de SQL do Azure. Dessa maneira, fica mais fácil para os desenvolvedores a criação de aplicativos sofisticados que usam os componentes do Mecanismo de Banco de Dados para comunicação entre bancos de dados díspares e a criação de aplicativos distribuídos confiáveis.
Use componentes do Service Broker para implementar funcionalidades de processamento de mensagens assíncronas no banco de dados nativo. Os desenvolvedores de aplicativos que usam o Agente de Serviço podem distribuir cargas de trabalho de dados por vários bancos de dados sem programação de comunicação complexa e mensagens internas. O Service Broker reduz o trabalho de desenvolvimento e teste porque o Agente de Serviço controla os caminhos de comunicação no contexto de uma conversa. Isso também melhora o desempenho. Por exemplo, bancos de dados front-end que oferecem suporte a sites podem gravar informações e enviar tarefas intensivas de processamento para enfileiramento em bancos de dados back-end. Agente de Serviço garante que todas as tarefas sejam gerenciadas no contexto de transações para assegurar a confiabilidade e a consistência técnica.
O Service Broker é uma estrutura de entrega de mensagens que permite criar aplicativos nativos no banco de dados orientado a serviços. Ao contrário das funcionalidades clássicas de processamento de consultas, que constantemente leem dados das tabelas e os processam durante o ciclo de vida da consulta, no aplicativo orientado a serviços, você tem serviços de banco de dados que trocam mensagens. Cada serviço tem uma fila em que as mensagens são colocadas até serem processadas.
As mensagens nas filas podem ser buscadas por meio do comando RECEIVE
do Transact-SQL ou pelo procedimento de ativação que será chamado sempre que a mensagem chegar à fila.
Os serviços de banco de dados são criados com a instrução Transact-SQL CREATE SERVICE. O serviço pode ser associado com a criação da fila de mensagens por meio da instrução CREATE QUEUE:
CREATE QUEUE dbo.ExpenseQueue;
GO
CREATE SERVICE ExpensesService
ON QUEUE dbo.ExpenseQueue;
As mensagens são enviadas na conversa entre os serviços por meio da instrução Transact-SQL SEND. Uma conversa é um canal de comunicação estabelecido entre os serviços por meio da instrução Transact-SQL BEGIN DIALOG
.
DECLARE @dialog_handle UNIQUEIDENTIFIER;
BEGIN DIALOG @dialog_handle
FROM SERVICE ExpensesClient
TO SERVICE 'ExpensesService';
SEND ON CONVERSATION @dialog_handle (@Message) ;
A mensagem será enviada para o ExpenssesService
e colocada em dbo.ExpenseQueue
. Como não há nenhum procedimento de ativação associado a essa fila, a mensagem permanecerá nela até que alguém a leia.
As mensagens colocadas na fila podem ser selecionadas por meio de uma consulta SELECT
padrão. A instrução SELECT
não modificará a fila e removerá as mensagens. Para ler e efetuar pull das mensagens da fila, use a instrução Transact-SQL RECEIVE.
RECEIVE conversation_handle, message_type_name, message_body
FROM ExpenseQueue;
Após processar todas as mensagens da fila, feche a conversa com a instrução Transact-SQL END CONVERSATION.
A documentação de referência do Agente de Serviço está incluída na documentação do SQL Server . Esta documentação de referência inclui as seguintes seções:
Instruções DDL (Linguagem de Definição de Dados) (Transact-SQL) para instruções CREATE, ALTER e DROP
Exibições de gerenciamento dinâmico relacionadas ao Service Broker (Transact-SQL)
Consulte a documentação publicada anteriormente para saber mais sobre conceitos do Agente de Serviço e sobre tarefas de desenvolvimento e gerenciamento. Essa documentação não é reproduzida na documentação do SQL Server devido ao pequeno número de alterações no Agente de Serviço em versões recentes do SQL Server.
A troca de mensagens entre instâncias do service broker entre instâncias da Instância Gerenciada de SQL do Azure e a troca de mensagens entre o SQL Server e a Instância Gerenciada de SQL do Azure estão atualmente em visualização pública:
CREATE ROUTE
: a porta especificada deve ser 4022. Confira CREATE ROUTE.ALTER ROUTE
: a porta especificada deve ser 4022. Confira ALTER ROUTE.Há suporte para a segurança do transporte, mas não para a segurança da caixa de diálogo:
CREATE REMOTE SERVICE BINDING
não é suportado.O Service Broker está habilitado por padrão e não pode ser desabilitado. As seguintes opções de ALTER DATABASE não têm suporte:
ENABLE_BROKER
DISABLE_BROKER
Nenhuma alteração significativa foi introduzida no SQL Server 2019 (15.x). As alterações a seguir foram introduzidas no SQL Server 2012 (11.x).
A sintaxe da instrução SEND (Transact-SQL) foi estendida para habilitar o multicast, dando suporte a vários identificadores de conversa.
Filas têm uma nova coluna, message_enqueue_time, que mostra quanto tempo uma mensagem permaneceu na fila.
As instruções CREATE QUEUE (Transact-SQL) e ALTER QUEUE (Transact-SQL) agora tem a capacidade de habilitar ou desabilitar a manipulação de mensagens suspeitas adicionando a cláusula POISON_MESSAGE_HANDLING (STATUS = ON | OFF)
. A exibição de catálogo sys.service_queues agora tem a coluna is_poison_message_handling_enabled para indicar se a mensagem suspeita está habilitada ou desabilitada.
Para obter mais informações, consulte Service Broker com Grupos de Disponibilidade AlwaysOn (SQL Server).
O uso mais comum de Service Broker é para notificações de eventos. Saiba como implementar notificações de eventos, configurar a segurança de diálogo ou obter mais informações.
evento
Obtenha a certificação no Microsoft Fabric — gratuitamente!
19/11, 23 - 10/12, 23
Por um tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agora