Ferramentas para solução de problemas (Service Broker)

O Service Broker fornece várias ferramentas para diagnosticar problemas de configuração e conversação.

O Service Broker é um componente do Mecanismo de Banco de Dados. Por isso, muitas das ferramentas do Mecanismo de Banco de Dados também podem ser usadas para diagnosticar problemas do Service Broker. Para obter mais informações, consulte Ferramentas de solução de problemas (Mecanismo de Banco de Dados).

O utilitário ssbdiagnose

O utilitário ssbdiagnose analisa a configuração de serviços Service Broker e a execução de conversações à procura de erros. Use o ssbdiagnose para fazer o seguinte:

  • Confirmar que não há erros de configuração em um aplicativo Service Broker recém-configurado.

  • Confirmar que não há erros de configuração depois que você alterar a configuração de um aplicativo Service Broker existente.

  • Confirmar que não há erros de configuração após a desanexação de um banco de dados Service Broker nova anexação a uma nova instância do Mecanismo de Banco de Dados.

  • Determinar quais erros estão impedindo a transmissão bem-sucedida das mensagens entre serviços.

Para obter mais informações sobre como usar o utilitário, consulte Utilitário ssbdiagnose.

A fila de transmissão do Service Broker

As mensagens do Service Broker que não são transmitidas com êxito para a fila de recebimento são mantidas na fila de transmissão do Service Broker no banco de dados de envio. É possível usar a exibição do sistema sys.transmission_queue em cada banco de dados para ver as mensagens na fila. Para qualquer mensagem que esteja na fila devido a um erro de transmissão, a coluna transmission_status conterá a mensagem de erro.

Nem todas as mensagens na fila de transmissão são causadas por erros:

  • Algumas mensagens na fila podem estar no processo envio. Exemplos: mensagens aguardando um receptor desconectado ser reconectado ou a confirmação de um envio de rede.

  • Se uma fila tiver RETENTION definida como ON, as mensagens transmitidas com êxito serão mantidas na fila de transmissão até o fim da conversação.

A coluna is_conversation_error indica se a mensagem encontrou um erro.

Para obter mais informações sobre sys.transmission_queue, consulte sys.transmission_queue (Transact-SQL).

Eventos de rastreamento SQL do Service Broker

O Service Broker fornece vários eventos de Rastreamento SQL que você pode usar para diagnosticar problemas. Use o SQL Server Profiler ou procedimentos armazenados de sistema para configurar um Rastreamento SQL que monitore eventos e erros Service Broker, à medida que eles ocorrem. Isso lhe permite visualizar os eventos Service Broker gerados pelo sistema, e se eles encontram erros.

Para obter mais informações sobre como usar o Rastreamento SQL, consulte Monitorando eventos.

Para obter mais informações sobre eventos de rastreamento Service Broker, consulte Categoria de evento Broker.

Objetos de desempenho do Service Broker

O Service Broker fornece vários objetos de desempenho que você pode usar no Monitor de Sistema para rastrear o desempenho de operações Service Broker.

Para obter mais informações, consulte Monitorando o uso de recursos (Monitor do Sistema).

Para obter mais informações sobre os objetos de desempenho Service Broker, consulte estes tópicos:

Erros do Service Broker

O Service Broker usa os mesmos mecanismos que o Mecanismo de Banco de Dados para retornar erros aos aplicativos ou ferramentas. Para obter mais informações, consulte Compreendendo os erros do Mecanismo de Banco de Dados.

Para obter informações sobre erros específicos do Service Broker, consulte Referência de erros e eventos (Service Broker).

Erros do Service Broker gerados quando você executa uma instrução Transact-SQL são retornados para o aplicativo chamador. Por exemplo, se você estiver executando um script no Editor de Consultas do Management Studio Transact-SQL, os erros de instruções Service Broker Transact-SQL serão retornados na janela Mensagens.

Muitos operações do Service Broker são assíncronas e ocorrem quando nenhum aplicativo está conectado à instância do Mecanismo de Banco de Dados. Em geral, esses erros são retornados no log de erros e no log de aplicativo do Windows associados à instância do Mecanismo de Banco de Dados. Para obter mais informações, consulte Monitorando os logs de erros.

Exibições de sistema do Service Broker

O Service Broker fornece várias exibições de sistema para analisar as configurações existentes do Service Broker ou monitorar o estado dos componentes do Service Broker.

Exibições do catálogo do Service Broker

As exibições do catálogo do Service Broker retornam dados para a configuração atual de objetos de catálogo Service Broker, como filas e contratos.

Para obter uma lista das exibições de catálogo do Service Broker, consulte Exibições do catálogo do Service Broker (Transact-SQL).

Exibições de gerenciamento dinâmico do Service Broker

As exibições de gerenciamento dinâmico do Service Broker retornam dados sobre o estado atual de componentes do Service Broker, como tarefas de ativação e conexões do Service Broker.

Para obter uma lista das exibições de gerenciamento dinâmico do Service Broker, consulte Exibições de gerenciamento dinâmico relacionadas ao Service Broker (Transact-SQL).