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
O encaminhamento de mensagens do Service Broker permite que uma instância do SQL Server aceite mensagens de fora da instância e envie essas mensagens para uma instância diferente.
Um administrador pode usar o encaminhamento de mensagens para:
Forneça conectividade entre servidores em diferentes domínios de confiança.
Simplifique a administração criando uma única instância centralizada que contém as informações de roteamento de um domínio.
Distribua o trabalho entre várias instâncias.
Quando o encaminhamento está habilitado, a tabela de roteamento em msdb.sys.routes determina se uma mensagem que chega de outra instância é encaminhada. Se o endereço da rota correspondente não for LOCAL, o SQL Server encaminhará a mensagem para o endereço especificado. Caso contrário, a mensagem é entregue localmente.
Cada mensagem do Service Broker contém um tempo de vida máximo e uma contagem do número de vezes que a mensagem foi encaminhada. Quando uma instância encaminha a mensagem, essa instância aumenta a contagem na mensagem. Se a mensagem exceder o tempo de vida máximo, a instância de encaminhamento descartará a mensagem. Essa estratégia ajuda a evitar problemas em situações em que um loop de roteamento pode existir.
Encaminhamento e entrega confiável
Uma instância que encaminha uma mensagem não reconhece a mensagem para o remetente. Apenas o destino final reconhece a mensagem. Se o remetente não receber uma confirmação do destino após um período de tempo, o remetente tentará novamente a mensagem.
Uma instância que executa o encaminhamento de mensagens não precisa armazenar mensagens encaminhadas. Em vez disso, o SQL Server mantém mensagens para serem encaminhadas na memória. A quantidade de memória disponível para encaminhamento de mensagens é especificada como parte da configuração do ponto de extremidade do Service Broker. Essa estratégia permite o encaminhamento eficiente e sem monitoração de estado. Caso uma instância que executa o encaminhamento de mensagens falhe, nenhuma mensagem será perdida. Cada mensagem é sempre mantida no remetente até que o destino final a reconheça, conforme descrito nos protocolos de comunicação do Service Broker.
A visualização sys.dm_broker_forwarded_messages de gestão contém informações sobre mensagens que a instância está atualmente a encaminhar. Uma instância não persiste mensagens no processo de encaminhamento; Estas mensagens existem apenas na memória. A instância que enviou a mensagem e a instância que recebe a mensagem persistem as mensagens. A instância de envio não remove a mensagem até que a instância de recebimento confirme o recebimento da mensagem.
Segurança e encaminhamento
O encaminhamento de mensagens do Service Broker não requer uma instância de encaminhamento para descriptografar a mensagem encaminhada. Portanto, apenas os bancos de dados que participam da conversa devem ter a segurança da caixa de diálogo configurada.
No entanto, como a segurança de transporte se aplica às conexões entre instâncias do SQL Server, cada instância do SQL Server deve ter a segurança de transporte configurada corretamente para as instâncias com as quais se comunica diretamente. Por exemplo, se a Instância A e a Instância B se comunicarem por meio de uma instância de encaminhamento, tanto a Instância A quanto a Instância B deverão ter a segurança de transporte configurada corretamente para a instância de encaminhamento. Como as instâncias não trocam mensagens diretamente, elas não devem ter a segurança de transporte configurada para se comunicar entre si.
Conteúdo relacionado
- CRIAR ENDPOINT (Transact-SQL)
- ALTERAR ENDPOINT (Transact-SQL)
- sys.dm_broker_forwarded_messages (Transact-SQL)
- sys.routes (Transact-SQL)
- sys.transmission_queue (Transact-SQL)
- Roteamento e rede do Service Broker
- Pontos de extremidade do Service Broker
- Segurança da caixa de diálogo do Service Broker
- Segurança de transporte do Service Broker