Neue Transaktion kann sich nicht im angegebenen Transaktionskoordinator eintragen, wenn Sie versuchen, eine Transaktion in MS DTC zu starten.
Dieser Artikel hilft Ihnen beim Beheben eines Problems beim Starten einer Transaktion in Microsoft Distributed Transaction Coordinator (MS DTC).
Originalversion des Produkts: Windows
Ursprüngliche KB-Nummer: 922430
Wichtig
Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Sie sollten eine Sicherungskopie der Registrierung erstellen, bevor Sie die Registrierung bearbeiten. Sie müssen wissen, wie die Registrierung wiederhergestellt werden kann, wenn ein Problem auftritt. Weitere Informationen zum Sichern, Wiederherstellen und Ändern der Registrierung finden Sie unter Windows-Registrierungsinformationen für fortgeschrittene Benutzer.
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
- Sie verfügen über einen Clientcomputer, der mit einem Servercomputer kommuniziert.
- MS DTC ist auf beiden Computern installiert.
- Mindestens eine der folgenden Bedingungen ist erfüllt:
- Sie starten einen der Computer neu.
- Sie starten MS DTC auf einem der Computer neu.
- Die Computer befinden sich in unterschiedlichen Domänen.
In diesem Szenario erhalten Sie die folgende Fehlermeldung, wenn Sie versuchen, eine Transaktion in MS DTC zu starten:
Neue Transaktion kann sich nicht im angegebenen Transaktionskoordinator (0x8004d00a) eintragen.
Darüber hinaus schlägt die erste Transaktion fehl. Die nachfolgenden Transaktionen sind eine Weile erfolgreich. Die nachfolgenden Transaktionen können jedoch erneut fehlschlagen. Wenn die nachfolgenden Transaktionen fehlschlagen, erhalten Sie die folgende Fehlermeldung:
Neue Transaktion kann sich nicht im angegebenen Transaktionskoordinator (0x8004d00e) eintragen.
Ursache
Dieses Problem kann auftreten, wenn die MS DTC-Verbindung zwischen dem Clientcomputer und dem Servercomputer geschlossen wird. Beispielsweise kann ein Leerlauftimeout, ein RPC-Timeout (Remote Procedure Call) oder die Firewall die MS DTC-Verbindung zwischen dem Clientcomputer und dem Servercomputer schließen. Wenn eine neue Transaktionsanforderung auftritt, muss der Clientcomputer die MS DTC-Verbindung mit dem Servercomputer wiederherstellen.
Wenn der Clientcomputer versucht, die MS DTC-Verbindung mit dem Servercomputer wiederherzustellen, sendet der Clientcomputer ein Paket. Anschließend wartet der Clientcomputer auf eine Bindungspaketantwort vom Servercomputer. Standardmäßig beendet der Clientcomputer die Transaktion, wenn der Clientcomputer keine Antwort vom Servercomputer in vier Sekunden empfängt. Die Antwort des Servercomputers kann aufgrund von Netzwerklatenzproblemen oder Authentifizierungsverzögerungen verzögert werden. Wenn die Antwort des Servercomputers endlich den Clientcomputer erreicht, sind die nachfolgenden Transaktionen erfolgreich.
Die erste Transaktion kann lange dauern, und dann kann eine spätere Anforderung für eine verteilte Transaktion sofort abgeschlossen werden. Dieses Problem kann auftreten, wenn auf der Clientseite von MS DTC ein Problem bei der Kommunikation mit dem Kerberos-Server (KDC) auftritt. In der Regel tritt dieses Problem auf, wenn sich der Client und der Server in verschiedenen Domänen befinden, zwischen denen eine Firewall vorhanden ist.
Dieses Problem tritt beispielsweise im folgenden Szenario auf:
- Der Webdienst befindet sich im Umkreisnetzwerk in einer Domäne. Der Webdienst muss Transaktionen mit einem Datenbankserver in einer anderen Domäne in einem Intranet verwenden.
- Eine Firewall befindet sich zwischen dem Umkreisnetzwerk und dem Intranet. Die übermäßige Verzögerung bei der ersten Transaktion tritt auf, weil UDP-Port 88 (Kerberos) blockiert ist.
- Der Wiederholungsversuch und das Wiederholungsintervall für die Kerberos-Anforderung entsprechen einer übermäßigen Verzögerung (über 100 Sekunden).
Lösung
Warnung
Schwerwiegende Probleme können auftreten, wenn die Registrierung mit dem Registrierungs-Editor oder einer anderen Methode unsachgemäß bearbeitet wird. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft gibt keinerlei Garantien dafür ab, dass diese Probleme behoben werden können. Das Ändern der Registrierung erfolgt auf eigenes Risiko.
Um sicherzustellen, dass das in diesem Artikel beschriebene Problem auftritt, vergewissern Sie sich, dass die MS DTC-Transaktionsablaufverfolgungsprotokolldatei die folgenden Daten enthält:
; eventid=TRANSACTION_PROPOGATION_FAILED_CONNECTION_DOWN_FROM_REMOTE_TM ; tx_guid=f11cd9c9-7b8a-41e3-a904-4840123bacf7 ;" Fehler beim Propogaten der Transaktion an den untergeordneten Knoten "ComputerName", weil die Verbindung mit dem Remotetransaktions-Manager ausgefallen ist.
Hinweis
In diesen Daten ist die Wortpropogation ein Rechtschreibfehler für die Wortweitergabe. Das Wort propogate ist ein Rechtschreibfehler für das Wort propagiert.
Wenn die MS DTC-Transaktionsablaufverfolgungsprotokolldatei diese Daten enthält, führen Sie die folgenden Schritte aus:
Wählen Sie Start und dann Ausführen aus, geben Sie regedit ein, und wählen Sie anschließend OK aus.
Suchen Sie den folgenden Registrierungsunterschlüssel:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC
Klicken Sie mit der rechten Maustaste auf MSDTC, zeigen Sie auf Neu, und wählen Sie dann DWORD-Wert aus.
Geben Sie CmMaxNumberBindRetries ein, und drücken Sie dann die EINGABETASTE.
Klicken Sie mit der rechten Maustaste auf CmMaxNumberBindRetries, und wählen Sie dann Ändern aus.
Wählen Sie Dezimal aus.
Geben Sie im Feld Wert den Wert 60 ein.
Dieser Wert erhöht die Zeitspanne, in der der Clientcomputer auf die Antwort des Bindungspakets vom Servercomputer wartet. Dieser Wert ist doppelt so viele Sekunden, bevor der Clientcomputer die Transaktion beendet, wenn der Clientcomputer die Bindungspaketantwort nicht empfängt. Beispielsweise entspricht ein Wert von 60 30 Sekunden. Der Wert 60 ist nur ein empfohlener Wert. Möglicherweise sind zusätzliche Tests für Ihre Konfiguration erforderlich.
Wählen Sie OK aus.
Starten Sie MS DTC neu.
Hinweis
Stellen Sie für das Szenario mit langsamer Reaktion sicher, dass die Ports, die für die Kerberos-Authentifizierung (UDP 88 und TCP 88) erforderlich sind, geöffnet sind, wenn eine Firewall am Umkreisnetzwerk beteiligt ist. Die Ports UDP 389 und TCP 389 (beide für Lightweight Directory Access Protocol (LDAP) zum Suchen des Schlüsselverteilungscenters (Key Distribution Center, KDC)) müssen ebenfalls geöffnet sein.