Средства устранения неполадок (компонент Service Broker)

Компонент Service Broker предоставляет несколько инструментов для диагностики проблем конфигурации и диалогов.

Компонент Service Broker входит в состав компонента Database Engine. Поэтому многие из средств компонента Database Engine также могут использоваться для диагностики проблем компонента Service Broker. Дополнительные сведения см. в разделе Средства устранения неполадок (компонент Database Engine).

Программа ssbdiagnose

Программа ssbdiagnose анализирует конфигурацию служб компонента Service Broker и ведущихся диалогов на наличие ошибок. Программа ssbdiagnose предназначена для выполнения следующих задач.

  • Убедитесь, что в заново настроенном приложении компонента Service Broker отсутствуют ошибки конфигурации.

  • Убедитесь в отсутствии ошибок конфигурации после изменения конфигурации существующего приложения компонента Service Broker.

  • После отсоединения базы данных компонента Service Broker и последующего присоединения к новому экземпляру компонента Database Engine убедитесь в отсутствии ошибок конфигурации.

  • Определите, какие ошибки препятствуют успешной передаче сообщений между службами.

Дополнительные сведения об использовании этой программы см. в разделе Программа ssbdiagnose.

Очередь передачи компонента Service Broker

Сообщения компонента Service Broker, которые не удалось успешно передать в очередь получения, сохраняются в очереди передачи компонента Service Broker в базе данных, отправившей их. Просмотреть сообщения в очереди можно с помощью системного представления sys.transmission_queue в каждой из баз данных. Для сообщений, остающихся в очереди из-за ошибки передачи, столбец transmission_status содержит сообщение об ошибке.

Не все сообщения остаются в очереди передачи из-за следующих ошибок.

  • Некоторые из сообщений в очереди могут быть в процессе отправки. Например, в случае если ожидается восстановление соединения отключившимся получателем или распознавание сети.

  • Если в очереди для параметра RETENTION задано значение ON, успешно переданные сообщения сохраняются в очереди передачи до завершения диалога.

В столбце is_conversation_error указывается ошибка в случае возникновения таковой при передаче сообщения.

Дополнительные сведения о системном представлении sys.transmission_queue см. в разделе sys.transmission_queue (Transact-SQL).

Сообщения SQL-трассировки компонента Service Broker

Компонент Service Broker предусматривает несколько событий SQL-трассировки, которые можно использовать для диагностики проблем. Можно использовать приложение Приложение SQL Server Profiler или системные хранимые процедуры для настройки SQL-трассировки, наблюдающей за событиями компонента Service Broker и ошибками по мере их возникновения. Это позволяет просматривать события компонента Service Broker, формируемые системой, и выявить ошибки.

Дополнительные сведения об использовании SQL-трассировки см. в разделе Наблюдение за событиями.

Дополнительные сведения о событиях трассировки компонента Service Broker см. в разделе Категория событий Broker.

Объекты производительности компонента Service Broker

Компонент Service Broker предоставляет несколько объектов производительности, которые можно использовать в системном мониторе для отслеживания производительности операций компонента Service Broker.

Дополнительные сведения см. в разделе Мониторинг использования ресурсов (системный монитор).

Дополнительные сведения об объектах производительности компонента Service Broker см. в следующих разделах.

Ошибки компонента Service Broker

Компонент Service Broker использует те же механизмы, что и компонент Database Engine, для возвращения ошибок приложениям или средствам. Дополнительные сведения см. в разделе Основные сведения об ошибках компонента Database Engine.

Сведения об ошибках, характерных именно для компонента Service Broker, см. в разделе Справочник по ошибкам и событиям (компонент Service Broker).

Ошибки компонента Service Broker, сформированные при выполнении инструкции Transact-SQL, возвращаются вызывающему приложению. Например, при выполнении сценария в редакторе запросов Transact-SQL среды Management Studio любые ошибки из инструкций Transact-SQL компонента Service Broker возвращаются в окне «Сообщения».

Многие операции компонента Service Broker являются асинхронными и возникают, когда ни одно приложение не соединено с экземпляром компонента Database Engine. Эти ошибки обычно возвращаются в журнале ошибок и журнале приложений Windows, связанных с экземпляром компонента Database Engine. Дополнительные сведения см. в разделе Контроль за журналом ошибок.

Системные представления компонента Service Broker

Компонент Service Broker содержит несколько системных представлений для анализа существующих конфигураций компонента Service Broker или наблюдения за состоянием компонентов Service Broker.

Представления каталога компонента Service Broker

Представления каталога компонента Service Broker возвращают данные о текущей конфигурации объектов каталога компонента Service Broker, например очередей и контрактов.

Список представлений каталога компонента Service Broker содержится в разделе Представления каталога компонента Service Broker (Transact-SQL).

Динамические административные представления компонента Service Broker

Динамические административные представления компонента Service Broker возвращают данные о текущем состоянии компонентов Service Broker, например задач активации и соединений Service Broker.

Список динамических административных представлений компонента Service Broker содержится в разделе Динамические административные представления компонента Service Broker.