Melissa Amanna 28 Feb 2012
Many a times, we need traces in order to find out what can be the issue that causes DTC to fail or crash or throw exception.
What is Tracing:
Tracing is the means of understanding the behavior of an application and also a way to gather diagnostic information without having the source and with a minimal level of disturbance. It is a way of logging or recording the information of how the application works.
There are various tools available to collect DTC Traces. But while working on many cases I found that people are not aware of how to collect traces and even if they do, they do not collect it in the correct way.
Hence my attempt to make the task simple of collecting traces and that too correctly J
Traces can be collected in 2 ways – One by setting it in the registry and the other in the Component Services Console.
Tracing in Component Services console:
Steps for the same are as below:
- Go to Start --> run --> and type in “dcomcnfg” (You can also open component services mmc from Start --> Administrative Tools --> Component Services)
- For Windows Server 2003, you need to go to the My Computer --> Right Click and Properties --> MSDTC tab --> Tracing options.
- For Windows Server 2008, you need to go Expand My Computer --> Distributed Transaction Coordinator --> Local DTC --> Right Click Properties and the go to the tracing tab.
- By Default, the Trace all transactions won’t be enabled while Trace Aborted Transactions and Trace Long Lived Transactions will be enabled as shown below :
For Windows 2003
Windows Server 2008
5. To collect the traces correctly, reproduce the issue and then we need to first click on Stop Session Button and then the New Session Button as shown below:
6. This tracing log will be found under C:\Windows\System32\MSDTC\Trace Folder
7. Each log can be max of 25 MB and when it exceeds it will create a new log.
Tracing via Registry:
http://support.microsoft.com/kb/926099 speaks about the different information which can be captured via traces i.e. traces in cluster or XA tracing etc. You must set the value of these DWORD’s mentioned in the kb to minimum of Verbose to get more information.
This is very useful for intermittent issues for DTC.
Another link that is helpful in analyzing the logs is http://blogs.msdn.com/b/distributedservices/archive/2009/02/07/the-hidden-tool-msdtc-transaction-tracing.aspx
Reviewed by :