Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: 322756 How to back up and restore the registry in Windows
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:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
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.
Value | Meaning |
---|
0 | Off, no tracing functionality |
1 | CM error tracing is on, using the value of the TraceCMErrLogName registry entry as the location of the tracing output |
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-<pid>.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, <pid> 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 ;;"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."
pid=3132 ;tid=3324 ;time=01/25/2005-17:43:23.592 ;seq=86 ;eventid=TRANSACTION_BEGUN ;tx_guid=d3c61c1d-9528-44ff-b2f6-5acaf6b83095 ;"transaction got begun, description : '<NULL>'"
pid=3132 ;tid=2832 ;time=01/25/2005-17:44:46.945 ;seq=87 ;eventid=CHECKPOINTING_STOPPED ;;"MSDTC is suspending the checkpointing of transactions due to lack of activity"
pid=3132 ;tid=3324 ;time=01/25/2005-17:43:23.592 ;seq=88 ;eventid=TRANSACTION_BEGUN ;tx_guid=d3c61c1d-9528-44ff-b2f6-5acaf6b83095 ;"transaction got begun, description : '<NULL>'"
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 ;"transaction propagated to 'F07M03' as transaction child node #1"
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 ;"received request to commit the transaction from beginner"
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\