故障排除工具 (Service Broker)

Service Broker 提供多种诊断配置和会话问题的工具。

Service Broker 是数据库引擎的一个组件。因此,许多数据库引擎工具也可用于诊断 Service Broker 问题。有关详细信息,请参阅故障排除工具(数据库引擎)

ssbdiagnose 实用工具

ssbdiagnose 实用工具可以分析 Service Broker 服务的配置中和正在运行的会话中的错误。使用 ssbdiagnose 可以执行下列操作:

  • 确认在新配置的 Service Broker 应用程序中没有配置错误。

  • 确认在更改现有 Service Broker 应用程序的配置后没有配置错误。

  • 确认在将 Service Broker 数据库从数据库引擎实例分离并重新附加到数据库引擎的新实例后没有配置错误。

  • 确定使消息不能在服务间成功传输的错误。

有关如何使用该实用工具的详细信息,请参阅 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)

Service Broker SQL 跟踪事件

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 使用与数据库引擎相同的机制将错误返回给应用程序或工具。有关详细信息,请参阅了解数据库引擎错误

有关 Service Broker 特有的错误的信息,请参阅错误和事件参考 (Service Broker)

运行 Transact-SQL 语句时生成的 Service Broker 错误返回到调用应用程序。例如,如果您在 Management Studio Transact-SQL 查询编辑器中运行脚本,则任何来自 Service Broker Transact-SQL 语句的错误将返回到“消息”窗口。

许多 Service Broker 操作是异步的,并且在没有应用程序连接到数据库引擎的实例时也会发生。这些错误通常返回到与数据库引擎实例相关联的错误日志和 Windows 应用程序日志中。有关详细信息,请参阅监视错误日志

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 有关的动态管理视图