Platform SDK: Transaction Server

Managing MS DTC

[This product will work only on Windows NT 4.0 versions and earlier. For Windows 2000 and later, see COM+ (Component Services).]

In order to manage transactions, you must first start Microsoft® Distributed Transaction Coordinator (MS DTC). Starting MS DTC allows:

If you do not start MS DTC on your MTS server, clients can access the transactional packages that you are managing, but server components will not be able to participate in transactions.

Note: For a client-only install of MS DTC, the user must have write permissions for the local registry and remote read permissions for the server's Software\Classes key in order to configure and run MS DTC clients on a Windows NT computer.

You can start MS DTC using the MTS Explorer or (if you do not have MTS installed) Windows NT Control Panel.

To start or stop MS DTC using the MTS Explorer:

  1. In the right pane of the MTS Explorer, select the computer on which you are managing transactional packages.
  2. Open the Action menu and select Start MS DTC or Stop MS DTC. You can also right-click and select Start MS DTC or Stop MS DTC in the right-click menu.

To start or stop MS DTC using the Windows NT Control Panel:

  1. Open the Start menu, select Settings, and then Control Panel.
  2. Click the Services icon.
  3. In the Services list, select "MSDTC" and click the Start button.
  4. Click Close to close the Services window.

By default, the Microsoft Distributed Transaction Coordinator (MS DTC) is configured to start automatically when a Windows NT or Windows 98 system starts. To prevent MS DTC from automatically starting after rebooting a Windows 98 computer, use the registry editor to find the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices registry key and then delete the value entry named MSDTC. To prevent MS DTC from automatically starting after rebooting a Windows NT machine, open the Services icon in the Control Panel. Click "MSDTC" to open the service configuration window for MS DTC. In the Startup Type section, select Manual.

If you want to enable automatic startup of MS DTC again on a Windows 98 computer, use the registry editor to create a value entry named MSDTC with the string value "msdtcw -start" under the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices registry key. You can start MS DTC through the Services option in the Control Panel on a Windows NT computer.

Important: It is strongly recommended that you configure MS DTC to start automatically on any computer running transactional MTS components, SQL Server, or MSMQ.

Starting and Stopping MS DTC on Clustered Servers

On a clustered server, you can start and stop MS DTC by either using the MTS Explorer or using the MSCS administrative utility. Using the "net start msdtc" or "net stop msdtc" command does not work. To start and stop MS DTC on an MSCS cluster from the command prompt, use "msdtc -start" and "msdtc -stop", respectively.

You can also configure DTC settings, such as the location and size of the DTC log file, using the Advanced tab of the Computer property sheets.

To configure MS DTC settings:

  1. In the right pane of the MTS Explorer, select the computer on which you are managing transactional packages.
  2. Open the Action menu and select Properties. You can also right-click and select the Properties option from the right-click menu.
  3. Select the Advanced tab. You can adjust how transactions are displayed in the Transaction List and Trace Message windows. You can also change the location or size of the MS DTC log. Increasing the size of the MS DTC log lets you run more concurrent transactions.

Important MS DTC has an upper limit on the size of the log file:

Compressing the MS DTC Log File

The MS DTC log file can be located in a compressed directory. However, for optimum performance, do not compress the Microsoft DTC log file or store it in a compressed directory. MS DTC must decompress the log file before it can be used.

Removing DTCXATM.LOG Files

Before upgrading your installation of MTS 2.0, delete the DTCXATM.LOG file. Note that you must stop the MS DTC service before deleting DTCXATM.LOG.

Security and Communication Between Remote MS DTC Computers

If your application performs transactions spanning two or more computers, you must ensure that the MS DTCs on these computers are configured to communicate with each other. MS DTC runs under the identity of the System account by default. The MS DTC on one computer can communicate with the MS DTC on another computer, only if the Guest accounts on both computers are enabled. If you disable the Guest account on either machine or in the Windows NT domain to which they belong, you must configure MS DTC to run under some other user name that can communicate with the remote computer.

Note Customers who use MS DTC in an Microsoft Cluster Server (MSCS) environment should install Windows NT QFE Q116844. This QFE fixes a Remote Procedure Call (RPC) problem that can cause an MS DTC client to hang when attempting to connect to MS DTC on a clustered server. This fix is also part of Windows NT QFE1, available at the Windows NT Option Pack Web download site.

See Also

Understanding MTS Transactions, Monitoring MTS Transactions, Monitoring MTS Transactions with Windows 98, Advanced Tab (MTS Computer), Transaction List, Transaction Statistics, Transaction Icons, Trace Messages