4

It seems that any new send or receive ports that I create do not display any tracking even if I tick all the tracking boxes. I have an existing application and the receive port and orchestration tracking work, but the send port tracking doesn't.

On the same machine I also tried creating a new application. Created a send and a receive port and no tracking at all. I did the same thing on a fresh install of biztalk on another machine and I got tracking so I'm not crazy.

I've tried ...

  • ticking every box in tracking for the receive, orch, send ports.
  • creating a new host specifically for tracking
  • recreating the original host with a different name
  • sql service is running
  • reboot system
  • reboot host instances
  • restart biztalk services
  • nothing shows in event logs
  • all sql jobs ok except for 'monitor biztalk' which complains about 7 orphaned dta.
  • can't see anything in particular that stands out from mbv except for the above mentioned oraphaned dta.
SteveC
  • 15,808
  • 23
  • 102
  • 173
Ralph
  • 138
  • 2
  • 9

6 Answers6

5

In addition to Mike's answer:

  1. You need to ensure that at least one of your hosts is enabled for tracking. In BizTalk Administrator, under Platform Settings, Hosts, Select the host, and enable tracking (the list of hosts also shows which host(s) are current tracking enabled).
  2. You can also verify that the tracking SQL Agent job is running by looking directly at the database

    select count(*) from BizTalkMsgBoxDb.dbo.Spool (NOLOCK)

    select count(*) from BizTalkDTADb.dbo.Tracking_Parts1 (NOLOCK)

Basically, spool should be a fairly low number (< 10 000), and should come back to a static level after a spike in messages, unless your suspended orchs are growing. And new messages should be copied across from the MessageBox to DtaDb.TrackingParts every minute, so Tracking_Parts1 should grow a few records every 60-120 seconds after processing new messages, although they will be eventually purged / archived in line with your tracking archiving / purge strategy.

In a Dev environment, the more tracking the merrier, as HAT (the orchestration debugger) will give you more information the more you track. However, in a PROD environment, you would typically want to minimize tracking to improve performance and reduce disk overhead. We just track one copy, viz 'before processing' on the receive and 'after processing' on the send ports to our partners, and nothing at all on internal Ports and Orchs. This allows us to provide sufficient evidence of data received and sent.

StuartLC
  • 104,537
  • 17
  • 209
  • 285
  • Yes @nonnb have a host enabled for tracking. I ran the first sql statement and pushed messages through and I saw it grow. The 2nd statement stayed static for more than 2 minutes. I also ran tracked_messagescopy_biztalkmsgboxdb and saw the first table shrink but the 2nd table didn't increase. – Ralph Aug 08 '12 at 13:36
5

This post might help some people: http://learningcenter2.eworldtree.net:7090/Lists/Posts/Post.aspx?ID=78

For message tracking to work, among other factors, make sure that the "Message send and receive events" checkbox in the corresponding pipeline is enabled.

Knox
  • 51
  • 1
  • 1
  • 1
    I had this problem recently and it was indeed the "Message send and receive events" checkbox in the default send/receive pipelines that had been unchecked. – Kjetil Watnedal May 30 '13 at 08:33
3

Please take a look at these two articles, What is Message Tracking? and Insight into BizTalk Server message tracking. The first article has an item of interest for you and I'll quote it below and the second should just solidify what you're trying to do.

The SQL Server Agent service must be running on all MessageBox databases. The TrackedMessages_Copy_ job makes message bodies available to tracking queries and WMI. To efficiently copy the message bodies, they remain in the MessageBox database and are periodically copied to the BizTalk Tracking (BizTalkDTADb) database by the TrackedMessages_Copy_ job. Having the SQL Server Agent service running is also a prerequisite for the archiving and purging process to work correctly.

Mike Perrenoud
  • 66,820
  • 29
  • 157
  • 232
0

Are you using a default pipeline? Have you checked the tracking check boxes on them? There is some bug where the pipeline tracking is disabled for default pipelines.

More info here: http://blog.ibiz-solutions.se/integration/biztalk-global-pipeline-tracking-disabled-unexpectedly/

RobinHu
  • 374
  • 2
  • 14
0

Please ensure that required tracking is enbled in the properties of the send pipeline used by your send port. If message body tracking is disabled on the send pipeline, nothing is tracked on the send port as well.

shah
  • 45
  • 3
0

In my case the reason was in MSDTC. If ReseiveLocations and SendPorts comunicate with SQL DB, they use distributed transactions by MSDTC. You can disable using transactions on ports and check tracking. To fix MSTDC you can reinstall it on both servers. One of the reason of troubles with MSTDC is making servers by cloning virtual machines. In that case all MSDTC's have identical UID.

Ron
  • 415
  • 4
  • 8