Gerenciando o encaminhamento (Service Broker)

O encaminhamento de mensagens permite que uma instância SQL Server encaminhe mensagens Agente de Serviços entre duas ou mais instâncias de SQL Server. Várias considerações se aplicam ao gerenciamento de uma instância SQL Server que executa o encaminhamento de mensagens.

O Agente de Serviços usa as rotas no banco de dados msdb para mensagens encaminhadas e recebidas. Depois que você fizer alterações à configuração de roteamento para encaminhamento, você deve fazer backup de msdb.

SQL Server armazena mensagens a serem encaminhadas na memória, em uma estrutura de dados chamada fila de transmissor. A opção de ponto de extremidade MESSAGE_FORWARDING_SIZE define o valor máximo de memória (em megabytes) que SQL Server usa para armazenar mensagens a serem encaminhadas. SQL Server aloca memória conforme necessário para manter as mensagens a serem encaminhadas, até esse limite. Se chegar uma mensagem que faça com que o tamanho da fila de transmissor exceda esse limite, SQL Server descartará a mensagem. Entretanto, se uma grande mensagem foi fragmentada, a instância encaminhadora não remontará os fragmentos, mas sim encaminhará os fragmentos da mensagem ao destino. Dessa maneira, uma instância de encaminhamento pode encaminhar com sucesso uma mensagem que seja maior que a opção MESSAGE_FORWARDING_SIZE configurada para essa instância.

Uma instância que executa o encaminhamento de mensagens freqüentemente funciona como uma ponte entre duas redes. Para essa configuração, a opção MESSAGE_FORWARDING_SIZEpara o ponto de extremidade do Agente de Serviços precisa ser relativamente grande, desde que todo o tráfego entre as duas redes passa pela instância.

A exibição de gerenciamento dinâmico sys.dm_broker_forwarded_messages mostra as mensagens que são armazenadas para encaminhamento.