BizTalk Server: Tracking and Archiving
Introduction
One of the out-of the box features of BizTalk is tracking. Tracking can be configured in BizTalk on in- and outbound messages and orchestrations. Tracked messages can be archived for different reasons (lookup later in time, and so on). Regarding tracking and archiving of messages there a few considerations to be taken into account. Tracking and archiving can impact performance of a BizTalk group. To prevent a serious impact you have to setup your tracking and archiving wisely. Information found through MSDN and a few blogs and code samples can help you on your way to have a sustainable tracking and archiving configured for your purpose.
Archiving and purging
When your BizTalk environment (group) is up and running it will start processing more and more messages. With processing of these messages the tracking database will grow. Depending on the way tracking is configured the growth can accelerate pretty fast. Tracking also influences the performance of the BizTalk messagebox, since tracked messages accumulate in this database. To maintain a healthy BizTalk environment and good performance a job called the DTA Purge and Archive job automates archiving tracked messages and purging the BizTalk Tracking database. It is very important that this job is configured properly and runs regularly. See MSDN article Archiving and Purging the BizTalk Tracking Database.
Blogs/Code
A very detailed blog post on process of tracking by Thiago Almeida can be found here:
Other useful blog posts on tracking:
Custom archiving:
- BizTalk Messaging Archive Custom Solution
- Code for custom archiving solution
- SAB BizTalk Archiving Pipeline Component
- BizTalk Message Archiving
- BizTalk Messaging Archive Component (Commercial offering)
- BizTalk stream based archiving pipeline component
- BizTalk Archiving - SQL and File
Other languages
This article is also available in the following languages:
See Also
BizTalk Server is optimized for throughput, so the main orchestration and messaging engines do not actually move messages directly to the BizTalk tracking or BAM databases, as this would divert these engines from their primary job of executing business processes. Instead, BizTalk Server leaves the messages in the MessageBox database and marks them as requiring a move to the BizTalk Tracking database. A background process (the tracking host) then moves the messages to the BizTalk Tracking and BAM databases. It is recommended to create a dedicated host for tracking. See MSDN Configuring a Dedicated Tracking Host.
Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.