是否有办法记录(在文件或数据库表中)发送到Service Broker服务和/或从Service Broker服务接收的消息,而不更改激活过程或消息发送代码?
我知道我可以更改激活程序,以便在处理之前(或之后)将收到的消息写入表中。我可以改变发送存储过程来做同样的事情,但我正在寻找的东西:
注意:我需要记录实际的消息内容和相关的元数据。
TIA
答案 0 :(得分:1)
简短回答:不。
您可以通过服务器跟踪或事件通知来监控Broker:Conversation Event Class,但只会为您提供元数据,而不是消息内容。
您可以启用queue retention但保留的消息无论如何都会在会话结束时被删除,并且无法打开/关闭。
到目前为止,最好的选择是从激活的存储过程本身执行此操作。