Error message when you try to start a transaction in MS DTC: "New transaction cannot enlist in the specified transaction coordinator" (922430)
The information in this article applies to:
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 SYMPTOMSConsider the following scenario. You have a client computer that communicates with a
server computer. Microsoft
Distributed Transaction Coordinator (MS DTC) is installed on both computers. One or more of the following conditions are true:
- You restart either of the computers.
- You restart MS DTC on either of the
computers.
- The computers are in different domains.
In this scenario, you receive the following error message when you try to start a transaction in MS
DTC: New
transaction cannot enlist in the specified transaction coordinator (0x8004d00a) Additionally, the
first transaction fails. The subsequent transactions succeed for a while. However, the subsequent transactions may fail again. If the subsequent transactions fail, you receive the following error message: New
transaction cannot enlist in the specified transaction coordinator (0x8004d00e) Note This problem is more likely to occur when you use Microsoft Windows Server
2003 Service Pack 1 (SP1) together with Kerberos authentication. CAUSEThis problem may occur when the MS DTC connection
between the client computer and the server computer is closed. For example, an idle time-out, a remote procedure call (RPC)
time-out, or the firewall may close the MS DTC connection between the client computer and the
server computer. When a new transaction request occurs, the client computer must reestablish the MS DTC
connection with the server computer.
When the client computer tries to reestablish the MS DTC
connection with the server computer, the client computer sends a packet. Then, the client computer waits for a bind
packet response from the server computer. By default, the client computer stops the transaction if the client computer does not receive a
response from the server computer in 4 seconds. The response
from the server computer may be delayed because of network latency issues or authentication delays. When the response
from the server computer does finally reach
the client computer, the subsequent transactions succeed.RESOLUTIONWarning 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. To make sure that you are experiencing the problem that is described in this article, confirm that the MS DTC
transaction trace log file contains the following data: ;eventid=TRANSACTION_PROPOGATION_FAILED_CONNECTION_DOWN_FROM_REMOTE_TM ;tx_guid=f11cd9c9-7b8a-41e3-a904-4840123bacf7 ;"failed to propogate transaction to child node 'ComputerName' because the connection with the remote transaction manager went down" Notes- In this data, the word "propogation" is a misspelling for the word "propagation." The word "propogate" is a misspelling for the word "propagate."
- For more information about how to enable and view MS DTC
transaction trace data, see the "More Information" section.
If the MS DTC
transaction trace log file contains this data, follow these
steps: - Click Start, click Run,
type regedit, and then click
OK.
- Locate the following registry subkey:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC - Right-click MSDTC, point to
New, and then click DWORD Value.
- Type CmMaxNumberBindRetries, and
then press ENTER.
- Right-click CmMaxNumberBindRetries, and
then click Modify.
- Click Decimal.
- In the Value data box, type
60.
This value increases the length of time
that the client computer waits for the bind
packet response from the server computer. This value is double the
number of seconds before the client computer stops the transaction if the client computer does not receive the
bind
packet response. For example, a value of 60 equals 30 seconds.
Note The value of 60 is only a recommended value. Additional testing on your
configuration may be required. - Click OK.
- Restart the computer.
Modification Type: | Major | Last Reviewed: | 9/15/2006 |
---|
Keywords: | kbDTC kbtshoot kbprb KB922430 kbAudDeveloper kbAudITPRO |
---|
|