Freigeben über


Neue Transaktion kann nicht im angegebenen Transaktionskoordinator registriert werden, wenn Sie versuchen, eine Transaktion in MS DTC zu starten.

Dieser Artikel hilft Ihnen, ein Problem zu beheben, wenn Sie eine Transaktion in Microsoft Distributed Transaction Coordinator (MS DTC) starten.

Originalproduktversion: 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 erweiterte 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 gilt:
    • Sie starten einen der Computer neu.
    • Sie starten MS DTC auf einem der Computer neu.
    • Die Computer befinden sich in verschiedenen Domänen.

In diesem Szenario erhalten Sie die folgende Fehlermeldung, wenn Sie versuchen, eine Transaktion in MS DTC zu starten:

Neue Transaktion kann nicht im angegebenen Transaktionskoordinator (0x8004d00a) aufgeführt werden.

Darüber hinaus schlägt die erste Transaktion fehl. Die nachfolgenden Transaktionen sind für eine Weile erfolgreich. Die nachfolgenden Transaktionen können jedoch erneut fehlschlagen. Wenn die nachfolgenden Transaktionen fehlschlagen, erhalten Sie die folgende Fehlermeldung:

Neue Transaktion kann nicht im angegebenen Transaktionskoordinator (0x8004d00e) aufgeführt werden.

Ursache

Dieses Problem kann auftreten, wenn die MS DTC-Verbindung zwischen dem Clientcomputer und dem Servercomputer geschlossen ist. Ein Leerlauftimeout, ein RPC-Timeout (Remote Procedure Call) oder die Firewall kann 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 neu einrichten.

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 in 4 Sekunden keine Antwort vom Servercomputer empfängt. Die Antwort vom Servercomputer kann aufgrund von Netzwerklatenzproblemen oder Authentifizierungsverzögerungen verzögert werden. Wenn die Antwort vom Servercomputer schließlich den Clientcomputer erreicht, werden die nachfolgenden Transaktionen erfolgreich ausgeführt.

Die erste Transaktion kann eine lange Zeit dauern, und dann kann eine spätere Anforderung zur Ausführung einer verteilten Transaktion sofort abgeschlossen werden. Dieses Problem kann auftreten, wenn die clientseitige MS DTC ein Problem bei der Kommunikation mit dem Kerberos-Server (KDC) hat. In der Regel tritt dieses Problem auf, wenn sich der Client und der Server in verschiedenen Domänen befinden, die über eine Firewall verfügen.

Dieses Problem tritt beispielsweise im folgenden Szenario auf:

  • Der Webdienst befindet sich im Umkreisnetzwerk in einer Domäne. Webdienst muss Transaktionen mit einem Datenbankserver in einer anderen Domäne in einem Intranet verwenden.
  • Eine Firewall liegt zwischen dem Umkreisnetzwerk und dem Intranet. Die übermäßige Verzögerung für die erste Transaktion tritt auf, da der UDP-Port 88 (User Datagram Protocol) blockiert wird.
  • Das Wiederholungs- und wiederholungsintervall für die Kerberos-Anforderung entspricht 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', da die Verbindung mit dem Remotetransaktions-Manager ausgefallen ist"

Notiz

In diesen Daten ist die Wortpropogation ein Rechtschreibfehler für die Wortverteilung. Das Wort propogate ist ein Rechtschreibfehler für das Wort verteilt.

Wenn die MS DTC-Transaktionsablaufverfolgungsprotokolldatei diese Daten enthält, führen Sie die folgenden Schritte aus:

  1. Wählen Sie Start und dann Ausführen aus, geben Sie regedit ein, und wählen Sie anschließend OK aus.

  2. Suchen Sie den folgenden Registrierungsunterschlüssel:
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC

  3. Klicken Sie mit der rechten Maustaste auf MSDTC, zeigen Sie auf "Neu", und wählen Sie dann "DWORD-Wert" aus.

  4. Geben Sie CmMaxNumberBindRetries ein, und drücken Sie dann die EINGABETASTE.

  5. Klicken Sie mit der rechten Maustaste auf "CmMaxNumberBindRetries", und wählen Sie dann "Ändern" aus.

  6. Wählen Sie "Dezimal" aus.

  7. Geben Sie im Feld "Wert" den Wert 60 ein.

    Dieser Wert erhöht die Zeitspanne, die der Clientcomputer auf die Bindungspaketantwort 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.

  8. Klicken Sie auf OK.

  9. Starten Sie MS DTC neu.

Notiz

Stellen Sie für das Szenario für die langsame Antwort sicher, dass die ports, die für die Kerberos-Authentifizierung (UDP 88 und TCP) 88 erforderlich sind, geöffnet sind, wenn eine Firewall im Umkreisnetzwerk beteiligt ist. Die Ports UDP 389 und TCP 389 (sowohl für Lightweight Directory Access Protocol (LDAP) zum Ermitteln des Schlüsselverteilungszentrums (Key Distribution Center, KDC) müssen ebenfalls geöffnet sein.