How To Upgrade MTS 2.0 DTC to Reduce Memory Usage (192687)



The information in this article applies to:

  • Microsoft Transaction Server 2.0

This article was previously published under Q192687

SUMMARY

The Microsoft Distributed Transaction Coordinator (MS DTC) Proxy unconditionally initializes the TCP/IP stack whenever MS DTC is configured to use TCP/IP. It does this even when TCP/IP is not being used. This can cause the MS DTC proxy to allocate up to 3.3 MB of non-paged pool for each process. On some computers, this can cause a blue screen error when all physical memory was exhausted.

With this hotfix, the MS DTC Proxy now initializes TCP/IP only when it is needed to communicate with a remote MS DTC system.

MORE INFORMATION

Where To Get This Release

Please contact Microsoft Product Support Service for this update (Hotfix 0655c).

Who Should Install This Release?

If you need to reduce the memory used by MS DTC, you should install this release.

Although the memory usage problems exist on all versions of MS DTC, this release can only be installed if you are running Microsoft DTC file version 1997.11.532.0 or later. This version of Microsoft DTC was released as part of the Windows NT 4.0 Option Pack and the Microsoft Transaction Server 2.0 release. If you are running an earlier version of MS DTC, you must upgrade MS DTC by installing the Windows NT 4.0 Option Pack before you attempt to install this release.

You can determine which version of MS DTC is installed on your system by using Windows NT Explorer. Start Explorer and select the Winnt\System32 directory. Right-click the Msdtc.dll file, click Properties on the shortcut menu, and then click the Version tab. Explorer displays the file version for the Msdtc.dll file.

Procedure to Apply the Update

  1. Create an empty temporary directory on your system.
  2. Run the self-extracting executable file (I0655c.exe for i386; A0655c.exe for Alpha) and type the name of the temporary directory when you are prompted to do so. The program will unzip the following files into the temporary directory:

    Msdtcprx.dll Qfe0655c.txt

  3. Ensure that the Microsoft DTC service is stopped. Ensure that any services which depend on MS DTC are also stopped including Microsoft Transaction Server, Microsoft SQL Server, Microsoft Message Queue Server, and Microsoft COM Transaction Integrator (COMTI). Ensure that the Windows NT Control Panel is not active.
  4. The Msdtcprx.dll file that you must replace is located in the Winnt40\System32 directory by default. You should first rename the existing Msdtcprx.dll file so that you can return to it later, if you need to do so.
  5. Copy the Msdtcprx.dll file to the Winnt40\System32 directory.
  6. Restart the MS DTC service and any other services that depend on it.

Special Notes

This hotfix is contained in the publicly available Oracle hotfix, which is available at the following location:

Modification Type:MinorLast Reviewed:3/3/2005
Keywords:kbDTC kbfix kbhowto KB192687