5

I'm looking for some documentation on the content of a dtc trace file. Some columns is understandable like "pid" could be process id. But what is "tid". Guesswork would lead me to transaction id or thread id.

The reason for this question is that in most cases tid is the same for all log rows for one transaction but in a couple of cases tid is different and mixed between two transactions that happens at the same time. In those cases it looks like I end up with an orphaned transaction in SQL Server,

Before I draw any conclusions on that I need to know what tid is.

1 Answers1

5

Documentation of the tracing output, by Microsoft, is seemingly nonexistent. This knowledgebase article makes reference to thread and this MSDN thread with a posting by a Microsoft employee seems to corroborate.

It sounds like you've got two threads of execution in your program that are trying to execute in parallel and having some kind of contention issue.

Evan Anderson
  • 141,071
  • 19
  • 191
  • 328
  • 2
    Nonexistant documentation for debugging MS software?! Quelle surprise! – Chris S Nov 10 '14 at 16:37
  • 1
    Thanks, link clearly says thread id. Threads are not created in the code I have but probably from the COM+ app (written in Delphi) running in MTA. Different components, different dll's but installed in the same COM+ app on the same server. Not sure if different thread id's should be a problem or not. There usually is not different threads involved. More testing/analyzes needed and perhaps more questions here on site. Thanks. – Mikael Eriksson Nov 10 '14 at 17:43