Memory Leak When Using XA TM and SQL Server/DTC

ID: Q197811

The information in this article applies to:

SYMPTOMS

This hotfix corrects several problems that may occur when you use Microsoft SQL Server with an XA-compliant transaction manager such as BEA's Tuxedo. These problems only occur when the transaction manager performs distributed transactions with Microsoft SQL Server using the XA protocol.

Under some circumstances Microsoft DTC returns the error XAERR_NOTA (no transaction). The Microsoft DTC transaction manager process may also leak memory when Tuxedo performs XA transactions with Microsoft SQL Server.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Transaction Server version 2.0. A supported fix is now available, but has not been fully regression- tested and should be applied only to systems experiencing this specific problem. Unless you are severely impacted by this specific problem, Microsoft recommends that you wait for the next Service Pack that contains this fix. Contact Microsoft Product Support for more information.

MORE INFORMATION

Who Should Install This Release

You should install hotfix 0805 if you are using Microsoft SQL Server with an XA-compliant transaction manager such as BEA's Tuxedo.

This hotfix should only be installed on systems running Microsoft Windows NT version 4.0 (Service Pack 4 is recommended). It should not be installed on systems running Windows NT version 3.51 or Windows 2000.

Note that this hotfix is based on the version of Microsoft DTC included with Windows NT version 4.0 Service Pack 4. By installing this hotfix, you are upgrading Microsoft DTC to Windows NT version 4.0 Service Pack 4 level, in addition to correcting the problems described here.

Hot to Install on a Non-clustered System

1. Create an empty temporary directory on your system.

2. Run the self-extracting executable file (I0805.exe (i386) or A0805.exe

   (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:

      Dtcsetup.exe
      Qfe0805.txt

3. Stop the Microsoft DTC Service, if it is running. Stop all services that
   depend on Microsoft DTC (including Microsoft Transaction Server,
   Microsoft SQL Server, Microsoft Message Queue, and Microsoft COM
   Transaction Integrator (COMTI)).

4. Close Windows NT Control Panel, if it is open.

5. Run Dtcsetup.exe.

6. Restart the system.

7. Restart all services that depend on Microsoft DTC.

How to Install on a Cluster with an Already Clustered Microsoft DTC

1. Create an empty temporary directory on both nodes of the cluster.

2. Run the self-extracting executable file (I0805.exe (i386) or A0805.exe

   (alpha)) on both nodes of the cluster and enter the name of the
   temporary directory when you are prompted to do so.

   The program will unzip the following files into the temporary directory:

      Dtcsetup.exe
      Qfe0805.txt

3. Use the MSCS Cluster Administrator to stop the Microsoft DTC cluster
   resource, if it is running. Stop all services that depend on Microsoft
   DTC (including Microsoft Transaction Server, Microsoft SQL Server,
   Microsoft Message Queue, and Microsoft COMTI).

4. Close Windows NT Control Panel on all systems in the cluster.

5. Run dtcsetup.exe on the node that controls the Microsoft DTC cluster

   resource. When you are prompted to install Microsoft DTC on the other
   nodes in the cluster, run Dtcsetup.exe on those nodes.

6. Restart all systems.

7. Restart all services that depend on Microsoft DTC.

How to Install on a Cluster with a Non-clustered Microsoft DTC

1. Create an empty temporary directory on both nodes of the cluster.

2. Run the self-extracting executable file (I0805.exe (i386) or A0805.exe

   (alpha)) on both nodes of the cluster, 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:

      Dtcsetup.exe
      Qfe0805.txt

3. Stop the Microsoft DTC Service on all systems in the cluster. Stop all
   services that depend on Microsoft DTC (including Microsoft Transaction
   Server, Microsoft SQL Server, Microsoft Message Queue, and Microsoft
   COMTI).

4. Close Windows NT Control Panel on all systems in the cluster.

5. When you install this release on a clustered system, the Setup program

   automatically installs a clustered version of Microsoft DTC. The
   clustered version of Microsoft DTC requires an MSCS Resource Group that
   contains both a Network Name Resource and a Shared Disk Resource. Before
   installing this release, ensure that at least one such MSCS Resource
   Group exists. Dtcsetup.exe will assign Microsoft DTC to the first MSCS
   Resource Group that it finds that contains both a Network Name Resource
   and Shared Disk Resource. After ensuring that the necessary Resource
   Group exists, run Dtcsetup.exe on the node controlling that Resource
   Group.

6. When you are prompted to install Microsoft DTC on the other nodes in the
   cluster, run Dtcsetup.exe on those nodes.

7. Restart all systems.

8. Restart all services that depend on Microsoft DTC.

Keywords          : kbbug2.00 
Version           : WINNT:2.0
Platform          : winnt
Issue type        : kbbug
Solution Type     : kbfix

Last Reviewed: December 29, 1998