Microsoft KB Archive/898918

From BetaArchive Wiki
Knowledge Base


Article ID: 898918

Article Last Modified on 5/21/2005



APPLIES TO

  • Microsoft COM+ 1.0
  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Advanced Server




Important This article contains information about how to modify the registry. Make sure to 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 perform Microsoft Distributed Transaction Coordinator (MSDTC) transaction tracing on a Microsoft Windows 2000-based computer.

The ability to perform MSDTC transaction tracing was added in Microsoft Windows 2000 Post-Service Pack 4 (SP4) COM+ 1.0 Hotfix Rollup Package 33. For more information Windows 2000 Post-Service Pack 4 (SP4) COM+ 1.0 Hotfix Rollup Package 33, click the following article number to view the article in the Microsoft Knowledge Base:

896720 Availability of Windows 2000 Post-Service Pack 4 COM+ 1.0 Hotfix Rollup Package 33


MORE INFORMATION

MSDTC contains two types of tracing functionalities:

  • Transaction tracing
  • Communication Manager (CM) error tracing

Transaction tracing tracks changes to the state of the transaction. The trace is generated by the MSDTC Transaction Manager. The MSDTC Transaction Manager is part of the MSDTC service process.

CM error tracing tracks processes that meet the following criteria:

  • The process loads the Msdtcprx.dll file.
  • The process uses the MSDTC remote procedure call (RPC) interface to communicate with other MSDTC-related processes.

Transaction tracing and CM error tracing run independently of one another. You can enable or disable transaction tracing or CM error tracing independently of one another without affecting the functionality of MSDTC. Whether you enable or disable transaction tracing or CM error tracing, MSDTC will continue to log MSDTC transactions in a log file.

How to control tracing

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


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 your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
The following table provides information about the settings for each registry value.

Registry value name Comments Settings
TraceTxFlags REG_DWORD value that sets the level of transaction tracing.

The default setting for this registry value is 0.

0 - Off, no tracing

1 - Traces closed transactions
2 – Traces transactions that have been open for longer than 1 minute
0xF – Traces all transactions

TraceTxLogName REG_SZ value that specifies the fully qualified name of the transaction tracing log file. MSDTC will automatically add the .txt file name extension to each tracing log file that it opens.


If the registry key is absent, the transaction tracing log file will be located in the %TEMP% folder. In a typical MSDTC installation that uses the LocalSystem account, the transaction tracing log file will be named \WINNT\TEMP\MsDtcTxTrace.txt

For example, the TraceTxLogName registry value will be set to D:\trace\dtctxtrace.
TraceCMErr REG_DWORD value that specifies whether CM errors are to be traced.

The default setting for this registry value is 0.

0 – Off, no tracing

1 – CM error tracing is on. CM error tracing uses the value of TraceCMErrLogName as the location of the tracing output.

TraceCMErrLogName REG_SZ value that specifies the fully qualified name of the CM error tracing log file. MSDTC will automatically add the .txt file name extension to each tracing log file that it opens.


Because multiple processes can generate this tracing output, the process ID (PID) of the process that is generating the tracing output is appended to the name of the process.

If the registry key is absent, the CM error tracing log file will be located in the %TEMP% folder. In a typical MSDTC installation that uses the LocalSystem account, the CM error tracing log file will be named MsDtcCMErr-pid.txt, where pid is the process ID.

For example, the TraceCMErrLogName registry value will be set to D:\trace\dtccmerrtrace.


This setting will generate a trace file name of D:\trace\dtccmerrtrace-pid.txt

Note To complete changes to these registry values, you must restart the computer that is running transaction tracing, CM error tracing, and MSDTC.

Trace log files

A trace log file contains information about the following aspects of the transaction that is being traced:

  • Processes
  • Threads
  • Transaction identification
  • An explanation of each activity that is being traced

The information in the transaction tracing log file is similar to the following:

pid=1900       ;tid=2452       ;time=03/18/2005-10:37:57.040   ;seq=6          ;eventid=TRANSACTION_BEGUN                        ;tx_guid=756F5EE6-F8C0-494C-8BEF-CB48F3B221BE     ;"transaction got begun, description : "

pid=1900       ;tid=608        ;time=03/18/2005-10:39:59.024   ;seq=7          ;eventid=TRANSACTION_PROPOGATED_TO_CHILD_NODE     ;tx_guid=756F5EE6-F8C0-494C-8BEF-CB48F3B221BE     ;"transaction propagated to  Transaction child node #1 : F05M06."

pid=1900       ;tid=160        ;time=03/18/2005-10:39:59.071   ;seq=8          ;eventid=RECEIVED_COMMIT_REQUEST_FROM_BEGINNER    ;tx_guid=756F5EE6-F8C0-494C-8BEF-CB48F3B221BE     ;"received request to commit the transaction from beginner"

pid=1900       ;tid=608        ;time=03/18/2005-10:39:59.165   ;seq=9          ;eventid=TRANSACTION_COMMITTED                    ;tx_guid=756F5EE6-F8C0-494C-8BEF-CB48F3B221BE     ;"transaction has got committed"



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

08-04-2004 10:35 08:710: CM Error Value = 0x00000000, Calling RpcServerRegisterAuthInfo with <E-MailAddress> 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\com\complus\dtc\dtc\cm\src\iomgrclt.cpp (513)

Keywords: kbhowto kbinfo kbcomservices KB898918