Microsoft KB Archive/899115

= How to enable diagnostic tracing for MSDTC on a computer that is running Windows XP or Windows Server 2003 =

Article ID: 899115

Article Last Modified on 10/11/2007

-

APPLIES TO


 * Microsoft Windows Server 2003, Standard Edition (32-bit x86)
 * Microsoft Windows Server 2003 SP1
 * Microsoft Windows Server 2003 Standard Edition (32-bit x86)
 * Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
 * Microsoft Windows Server 2003 R2 Standard x64 Edition
 * Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
 * Microsoft Windows Server 2003 R2 Enterprise x64 Edition
 * Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
 * Microsoft Windows Server 2003 R2 Datacenter x64 Edition
 * Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
 * Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
 * Microsoft Windows Server 2003, Standard x64 Edition
 * Microsoft Windows Server 2003, Enterprise x64 Edition
 * Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
 * Microsoft Windows Server 2003, Enterprise Edition
 * Microsoft Windows Server 2003, Datacenter x64 Edition
 * Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
 * Microsoft Windows Server 2003, 64-Bit Enterprise Edition
 * Microsoft Windows Server 2003, 64-Bit Datacenter Edition
 * Microsoft Windows Server 2003, Web Edition
 * Microsoft Windows XP Professional

-



Important This article contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry



INTRODUCTION
This article discusses how to enable diagnostic tracing for Microsoft Distributed Transaction Controller (MSDTC) on a computer that is running Microsoft Windows 2003 or Microsoft Windows XP.

There are two types of tracing facilities available:
 * Transaction manager tracing

Transaction manager (TM) tracing tracks transaction state changes and is generated by the MSDTC transaction manager. The output is in binary format and must be formatted. The transaction manager is part of the MSDTC service process.
 * Communication manager error tracing

Communication manager (CM) error tracing tracks any process that loads the Msdtcprx.dll file and uses the remote procedure call (RPC) interface of MSDTC to communicate with other MSDTC-related processes. The output is in text format. 0x8004d00a is a typical error for which communication manager error tracing may be useful.

Note TM tracing and CM error tracing are independent processes. You can enable or disable TM tracing and CM error tracing independently.



MORE INFORMATION
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

Transaction Manager Tracing

You can enable Transaction Manager tracing by using the Component Services Microsoft Management Console (MMC) snap-in (Comexp.msc). Open the Component Services MMC snap-in, expand Component Services, expand Computers, expand My Computer, right-click My Computer, and then click Properties. Click the MSDTC tab. On the lower-right side of the MSDTC tab, click Tracing Options. The following options are available:


 * Off, No tracing functionality
 * Trace only aborted transactions
 * Trace only transactions open more than 1 minute
 * Trace all transactions

When you change the TM tracing configuration, the MSDTC service process detects these changes without the requirement to recycle a process. For example, when you change the transactions that are traced or the location of a trace file, the MSDTC service process detects the changes in the registry. You do not have to recycle the MSDTC service process.

MSDTC Connection Manager

NOTE: Make sure that the process has access to the registry keys. By default, our setup does not create this key, and it does not flow permissions to this key. You can use Registry Editor to configure tracing functionality. The registry values that determine tracing functionality are located in the following registry key:

To create tracing functionality registry entries, follow these steps:

TraceCMErr

 * Type: DWORD
 * Default value: 0
 * Function: The TraceCMErr registry entry specifies whether CM errors are to be traced.

The following table provides information about the values for the TraceCMErr registry entry.

TraceCMErrLogName

 * Type: REG_SZ
 * Default value: If this registry entry is absent when the TraceCMErr registry entry is set to a nonzero value, the TEMP directory for the user-id of the process is used. Additionally, the file name is MsDtcCMErr- .txt. The default user ID for the MSDTC service is the network service. By default, the temporary folder for the network services is hidden. Typically, the folder is located under the C:\Documents and Settings\NetworkService\Local Settings\Temp folder on most computers.

Note In this file name,  is a placeholder for the process ID.
 * Function: The TraceCMErrLogName registry entry specifies the fully qualified name of the CM error tracing log file without an extension. The .txt extension will be appended. Because multiple processes can generate the CM error tracing log file, the process ID of the process is appended to this name.

Note The folder that is specified in the fully qualified name must exist. If the folder does not exist, tracing does not occur. The file name that is specified in the fully qualified name is not required for tracing to occur.

Performance
You should not enable tracing functionality on production systems unless a Microsoft support representative indicates that the tracing information is required to diagnose an issue. The performance of the computer may be affected. As soon as the reason for the issue has been found and resolved, you should disable tracing functionality.

By default, tracing functionality is disabled. Therefore, there is no performance effect on a regular installation.

When you change the CM error tracing configuration, the changes take effect when a process that loads the Msdtcprx.dll file is recycled. For example, the changes to the CM error tracing configuration take effect when the MSDTC service process is recycled.

When you change the TM tracing configuration, the MSDTC service process detects these changes without the requirement to recycle a process. For example, when you change the transactions that are traced or the location of a trace file, the MSDTC service process detects the changes in the registry. You do not have to recycle the MSDTC service process.

For cluster installations, make sure that all registries on all of the nodes contain these entries. For any node that does not have these entries, the cluster code will disregard the entries in the shared registry because the entries do not exist in the local computer registry.

Output examples
The tracing log files contain information about process, thread, date, and transaction identification and an explanation of the activity that is being traced.

TM tracing
The information in the TM tracing log file may be similar to the following:

pid=3132      ;tid=280        ;time=01/25/2005-17:43:20.120   ;seq=85         ;eventid=TRACE_SETTINGS                           ;;&quot;Trace Configuration (OFF = 0 and ON = 1): Tracing Of DTC = 1, Tracing Of Transactions = 1, Tracing Of Aborted Transactions = 1, Tracing Of Long-Lived Transactions = 1, Tracing Of All Transactions = 1, Max Limit on Memory Buffers = 25.&quot; pid=3132      ;tid=3324       ;time=01/25/2005-17:43:23.592   ;seq=86         ;eventid=TRANSACTION_BEGUN                        ;tx_guid=d3c61c1d-9528-44ff-b2f6-5acaf6b83095     ;&quot;transaction got begun, description : ''&quot; pid=3132      ;tid=2832       ;time=01/25/2005-17:44:46.945   ;seq=87         ;eventid=CHECKPOINTING_STOPPED                    ;;&quot;MSDTC is suspending the checkpointing of transactions due to lack of activity&quot; pid=3132      ;tid=3324       ;time=01/25/2005-17:43:23.592   ;seq=88         ;eventid=TRANSACTION_BEGUN                        ;tx_guid=d3c61c1d-9528-44ff-b2f6-5acaf6b83095     ;&quot;transaction got begun, description : ''&quot; pid=3132      ;tid=2844       ;time=01/25/2005-17:45:23.592   ;seq=89         ;eventid=TRANSACTION_PROPOGATED_TO_CHILD_NODE     ;tx_guid=d3c61c1d-9528-44ff-b2f6-5acaf6b83095     ;&quot;transaction propagated to 'F07M03' as transaction child node #1&quot; pid=3132      ;tid=2932       ;time=01/25/2005-17:45:23.608   ;seq=90         ;eventid=RECEIVED_COMMIT_REQUEST_FROM_BEGINNER    ;tx_guid=d3c61c1d-9528-44ff-b2f6-5acaf6b83095     ;&quot;received request to commit the transaction from beginner&quot;

CM error tracing
The information in the CM error tracing log file may be similar to the following:

08-04-2004 10:35 08:710: CM Error Value = 0x00000000, Calling RpcServerRegisterAuthInfo with Someone@somehwere.com as SPN, d:\nt\com\complus\dtc\dtc\cm\src\iomgrrpc.cpp (401) 08-04-2004 10:35 08:710: CM Error Value = 0x000006d9, Call to RpcMgmtInqServerPrincName failed -- Could not determine if partner supports secure calls, d:\nt\com\complus\dtc\dtc\cm\src\iomgrclt.cpp (455) 08-04-2004 10:35 08:710: CM Error Value = 0x80000171, Call to SetRpcSecurity failed, d:\nt\

Additional query words: COM+ DCOM 0x8004d00a unable to enlist

Keywords: kbhowto kbinfo kbdtc KB899115

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.