In Biztalk 2009, I can view the 'Tracked Message Events' from the admin console. I need to find a particular message (containing a particular string in the body) for which I know the day of arrival, but not the time.

How can I easily go about this? If I could right click and 'Save to file' on all messages, I could then use grep to find out the message. However, you can only do this on one message at a time, and I have 5188 messages for this day (so this is not practical). If there was some way to enter the message criteria in the tracked message events dialog, I could easily do it, but I don't believe Biztalk 2009 supports this.

Is there a way to get this information directly from the Biztalk database tables using a SQL script, or is there another easy way to do this that I am not aware of?

有帮助吗?

解决方案

First of I then assume that you also have the tracking of messages activated? As you probably know BizTalk actually only saves the message body if tracking has been activated on the ports or in the orchestration that messages passes thru.

But if tracking has been activated the message body is first saved in the BizTalk MessageBox and then moved by the tracking agent to the DTA database in BizTalk - as described in detail here. Within the DTA database the message body is saved in a compress format and there isn't really a good way to search the whole body for a specific value.

One way could be to use on of these methods to extract the messages and then use some other way of searching the messages once on file for example.

Howevere if possible I would then in the future recommend you to promote the values you'd like to search for. That would force the values to be stored in sperepare fields in the DTA databse and make them searchable.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top