【问题标题】:Logging of received/transmitted messages in Service Broker在 Service Broker 中记录接收/传输的消息
【发布时间】:2017-03-27 20:09:58
【问题描述】:

有没有办法在不更改激活过程或消息发送代码的情况下记录(在文件或数据库表中)发送到 Service Broker 服务和/或从 Service Broker 服务接收到的消息?

我知道我可以更改激活过程,以便在处理之前(或之后)将接收到的消息写入表中。我可以更改发送存储过程以执行相同的操作,但我正在寻找以下内容:

  • 我不必自己构建基础架构,也不必从头开始编码和调试。
  • 已经过广泛测试,已知不会干扰正常处理(透明)。
  • 我可以随意启用或禁用。

注意:我需要记录实际的消息内容和相关元数据。

TIA

【问题讨论】:

    标签: sql-server-2008-r2 service-broker


    【解决方案1】:

    简短回答:不。

    您可以通过服务器跟踪或作为事件通知来监控Broker:Conversation Event Class,但只会为您提供元数据,而不是消息内容。

    您可以启用queue retention,但保留的消息在对话结束时会被删除,并且打开/关闭有问题。

    到目前为止,最好的选择是从激活的存储过程本身进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多