Aktivieren der Diagnoseablaufverfolgung für MS DTC auf einem Windows 10 Computer

In diesem Artikel wird erläutert, wie Sie die Diagnoseablaufverfolgung für den Microsoft Distributed Transaction Coordinator (MS DTC) auf einem Windows 10-Computer aktivieren.

Ursprüngliche Produktversion: Windows 10
Ursprüngliche KB-Nummer: 926099

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.

Arten von Ablaufverfolgungseinrichtungen

  • Transaktions-Manager-Ablaufverfolgung

    Die Transaktions-Manager-Ablaufverfolgung verfolgt Änderungen des Transaktionszustands nach. Sie wird vom MS DTC-Transaktions-Manager generiert. Die Ausgabe ist im Binärformat, und die Ausgabe muss formatiert werden. Der Transaktions-Manager ist Teil des MS DTC-Diensts.

  • Communication Manager-Fehlerablaufverfolgung

    Die Cm-Fehlerablaufverfolgung (Communication Manager) verfolgt jeden Prozess nach, der die Msdtcprx.dll-Datei lädt und die RPC-Schnittstelle (Remote Procedure Call) von MS DTC verwendet, um mit anderen MS DTC-bezogenen Prozessen zu kommunizieren. Die Ausgabe erfolgt im Textformat. Der 0x8004d00a Fehler ist ein typischer Fehler, für den die Kommunikations-Manager-Fehlerablaufverfolgung nützlich sein kann.

Hinweis

Transaktions-Manager-Ablaufverfolgung und Kommunikations-Manager-Fehlerablaufverfolgung sind unabhängige Prozesse. Sie können die Transaktions-Manager-Ablaufverfolgung und die Kommunikations-Manager-Fehlerablaufverfolgung unabhängig voneinander aktivieren. Sie können sie auch unabhängig voneinander deaktivieren.

Aktivieren der Transaktions-Manager-Ablaufverfolgung

Sie können das MMC-Snap-In (Component Services Microsoft Management Console) verwenden, um die Transaktions-Manager-Ablaufverfolgung zu aktivieren. Gehen Sie dazu wie folgt vor:

  1. Wählen Sie Start, Alle Programme, Zubehör und dann Ausführen aus.

  2. Geben Sie comexp.msc ein, und wählen Sie dann OK aus.

  3. Erweitern Sie Komponentendienste, Erweitern Sie Computer, erweitern Sie Mein Computer, erweitern Sie Distributed Transaction Manager, klicken Sie mit der rechten Maustaste auf Lokaler DTC, und wählen Sie dann Eigenschaften aus.

  4. Wählen Sie die Registerkarte Ablaufverfolgung aus.

  5. Auf der Registerkarte Ablaufverfolgung können Sie die folgenden TM-Ablaufverfolgungsoptionen ändern:

    • Ablaufverfolgungsausgabe
      • Ablaufverfolgungstransaktionen
        • Alle Transaktionen nachverfolgen
        • Ablaufverfolgung abgebrochener Transaktionen
        • Ablaufverfolgung Long-Lived Transaktionen

Wenn Sie die Tm-Ablaufverfolgungskonfiguration ändern, erkennt der MS DTC-Dienst die Änderungen. Sie müssen den Prozess jedoch nicht wiederverwenden. Wenn Sie beispielsweise die Transaktionen ändern, die nachverfolgt werden, oder den Speicherort der Ablaufverfolgungsdatei, erkennt der MS DTC-Dienst die Änderung in der Registrierung. Sie müssen den MS DTC-Dienst nicht neu starten.

Neues MS DTC-Ablaufverfolgungssystem in Windows

Unter Windows verfügt MS DTC über ein neues und umfangreiches Ablaufverfolgungssystem. Das neue System hat die folgenden Entwurfsziele:

  • Zum Hinzufügen einer formatierten Ablaufverfolgung ist nur eine einzelne Codezeile erforderlich.
  • Die Ablaufverfolgung ist für Menschen auf Produktionscomputern ohne Netzwerk lesbar.
  • Ausgabeoptionen sind flexibel.
  • Die Ablaufverfolgung ist schnell.
  • Sie müssen den Computer nicht neu starten, um die Optionen zu ändern.

Darüber hinaus enthält der Name der Ablaufverfolgungsprotokolldatei in Windows 10 und Windows Server Technical Preview den Namen des Prozesses, der das Ablaufverfolgungsprotokoll aufgerufen hat. Dies wird durch den Registrierungsschlüssel Ausgabe gesteuert.

Konfigurieren der Ablaufverfolgung

Warnung

Schwerwiegende Probleme können auftreten, wenn die Registrierung mit dem Registrierungs-Editor oder einer anderen Methode unsachgemäß bearbeitet wird. Aufgrund dieser Probleme kann eine Neuinstallation des Betriebssystems erforderlich sein. Microsoft kann nicht garantieren, dass diese Probleme behoben werden können. Das Ändern der Registrierung erfolgt auf eigenes Risiko.

Die Ablaufverfolgungskonfiguration befindet sich auf dem lokalen Knoten in einem Registrierungsschlüssel, der unter dem MS DTC-Registrierungsschlüssel benannt Tracing ist. Der Tracing Registrierungsschlüssel enthält die Ablaufverfolgung des Verbindungs-Managers. Zuvor haben Sie den Registrierungsschlüssel verwendet, um die TraceCMErr Ablaufverfolgung des Verbindungs-Managers zu konfigurieren. Der Tracing Registrierungsschlüssel enthält die folgenden zwei Unterschlüssel:

  • Sources: Dieser Unterschlüssel konfiguriert die Art der Ablaufverfolgung.
  • Output: Mit diesem Unterschlüssel wird konfiguriert, wohin die Ablaufverfolgungsausgabe gesendet wird.

Hinweis

Stellen Sie sicher, dass der Prozess auf den Tracing Registrierungsschlüssel zugreifen kann. Standardmäßig erstellt die Windows-Konfiguration diesen Schlüssel nicht und gewährt keine Berechtigungen für diesen Schlüssel. Sie können die Registrierungs-Editor verwenden, um die Ablaufverfolgungsfunktionalität zu konfigurieren.

Führen Sie die folgenden Schritte aus, um Registrierungseinträge für Ablaufverfolgungsfunktionen zu erstellen:

  1. Wählen SieAlle Programme>starten>Zubehör>Ausführen aus, geben Sie regedit ein, und wählen Sie dann OK aus.

  2. Suchen Sie einen der folgenden Unterschlüssel, und wählen Sie ihn aus:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
  3. Wählen Sie im Menü Bearbeiten die Option Neu und dann den Datentyp des Eintrags aus. Wählen Sie z. B. DWORD (32-Bit)-Wert aus.

  4. Geben Sie den Namen der gewünschten Quelle ein, und drücken Sie dann die EINGABETASTE. Weitere Informationen zu den Quellnamen finden Sie in der Tabelle im Abschnitt Konfigurieren von Quellen .

  5. Klicken Sie mit der rechten Maustaste auf den neuen Registrierungseintrag, wählen Sie Ändern aus, geben Sie den gewünschten Wert in das Feld Wert ein , und wählen Sie dann OK aus.

  6. Wählen Sie im Menü Datei die Option Beenden aus.

Konfigurieren von Quellen

Der Sources Registrierungsschlüssel enthält einen Satz von DWORD-Registrierungswerten, die in der folgenden Tabelle aufgeführt sind.

Name Beschreibung
TRACE_MISC Ablaufverfolgungen, die nicht in die anderen Kategorien kategorisiert werden können
TRACE_CM Ablaufverfolgungen im Verbindungs-Manager
TRACE_TRACE Die Ablaufverfolgungsinfrastruktur selbst
TRACE_SVC Ablaufverfolgungsdienst und .exe Dateistart
TRACE_GATEWAY Gatewayquelle
TRACE_UI Verfolgt die Benutzeroberfläche nach
TRACE_CONTACT Ablaufverfolgung des Kontaktpools und der Kontakte
TRACE_UTIL Ablaufverfolgung von Hilfsprogrammroutinen, die von mehreren Speicherorten aufgerufen werden
TRACE_CLUSTER Verfolgt den clusterspezifischen Code (Hilfsprogramm) nach.
TRACE_RESOURCE Verfolgt den clusterressourcenspezifischen Code nach.
TRACE_TIP Tip-Ablaufverfolgungsquelle (Transaction Internet Protocol)
TRACE_XA XA Transaction Manager(XATM)-Ablaufverfolgungsquelle
TRACE_LOG Protokollablaufverfolgung
TRACE_MTXOCI MTS/OCI-Ebene (Mtxoci.dll)-Ablaufverfolgungsquelle
TRACE_ETWTRACE Ereignisablaufverfolgung für Windows (ETW)-Ablaufverfolgungsquelle
TRACE_PROXY Ablaufverfolgungen, die in der MSDTC-Proxy-DLL generiert werden
TRACE_KTMRM Ablaufverfolgung für die Integration in den Kerneltransaktions-Manager
TRACE_VSSBACKUP Ablaufverfolgung für die Integration in den Microsoft Visual SourceSafe Sicherungs- und Wiederherstellungsmechanismus
TRACE_PERFMON Ablaufverfolgung mit Unterstützung für Leistungsindikatoren

Der DWORD-Wert sollte eine Zahl zwischen 0 und 255 sein. Der DWORD-Wert gibt die Ebene der Ablaufverfolgung an, die ausgeführt wird. In der folgenden Tabelle sind mögliche DWORD-Werte aufgeführt.

Wert Beschreibung
0 const BYTE TRACE_OFF
1 const BYTE TRACE_ERROR
2 const BYTE TRACE_WARNING
3 const BYTE TRACE_INFO
4 const BYTE TRACE_VERBOSE
5 const BYTE TRACE_VERY_VERBOSE
6 const BYTE TRACE_INOUT
0xF0 const BYTE TRACE_OBSCURE
0xff const BYTE TRACE_EVERYTHING

Hinweis

Höhere Werte enthalten automatisch niedrigere Werte. Wenn Sie die TRACE_INFO Ebene aktivieren, wird daher auch die TRACE_ERROR Ebene aktiviert. Nur sehr wenige Quellen verwenden eine Ablaufverfolgung, die höher als die TRACE_VERBOSE Ebene ist.

Konfigurieren der Ablaufverfolgungsausgabe

Warnung

Schwerwiegende Probleme können auftreten, wenn die Registrierung mit dem Registrierungs-Editor oder einer anderen Methode unsachgemäß bearbeitet wird. Aufgrund dieser Probleme kann eine Neuinstallation des Betriebssystems erforderlich sein. Microsoft kann nicht garantieren, dass diese Probleme behoben werden können. Das Ändern der Registrierung erfolgt auf eigenes Risiko.

Der Output Registrierungsschlüssel enthält einen Satz von Werten, die steuern, wohin die Ablaufverfolgungsausgabe gesendet wird. Diese Werte sind wie folgt:

  • Der TraceFilePath Wert (REG_SZ) ist der Stammordner, in dem Ablaufverfolgungsdateien gespeichert werden sollen. Die Ablaufverfolgung wird in eine Datei in einem Ordner mit dem Namen msdtc-X.log geschrieben. In diesem Ordnernamen stellt X die Dezimal-PID des Prozesses dar, der die Datei erstellt. Stellen Sie sicher, dass alle relevanten Prozesse auf den konfigurierten Ordner zugreifen können. Andernfalls gehen Ablaufverfolgungsinformationen verloren. Wenn dieser Wert nicht festgelegt ist, werden Keine Ablaufverfolgungen an eine Datei gesendet.

  • Der ImageNameInTraceFileNameEnabled Wert (REG_DWORD) bestimmt, ob der Name der generierten Ablaufverfolgungsprotokolldatei den Imagedateinamen des Prozesses enthält, der das Ablaufverfolgungsprotokoll aufgerufen hat. Wenn dies auf einen Wert ungleich 0 festgelegt ist, wird der Imagedateiname des Prozesses in die generierte Ablaufverfolgungsprotokolldatei eingeschlossen. Wenn dieser Wert auf 0 (null) festgelegt ist, wird der Imagedateiname des Prozesses nicht in die generierte Ablaufverfolgungsprotokolldatei eingeschlossen. Standardmäßig ist der Wert auf 0 (0) festgelegt. Im Folgenden finden Sie ein Beispiel für einen Namen der Ablaufverfolgungsdatei, bei der die generierte Protokolldatei den Prozess enthält:
    MSDTC-msdtc.exe-3552.log oder MSDTC-svchost.exe – 3556.log

  • Der MemoryBufferSize Wert (REG_DWORD) ist die Größe des Kreispuffers, in dem Ablaufverfolgungsmeldungen gespeichert werden. Wenn dieser Wert auf 0 festgelegt ist, ist die Speicherablaufverfolgung deaktiviert. Standardmäßig beträgt dieser Wert 10 MB. Möglicherweise müssen Sie diesen Wert erhöhen, wenn Sie die ausführliche Ablaufverfolgung aktivieren.

  • Der DebugOutEnabled Wert (REG_DWORD) aktiviert oder deaktiviert die Ausgabe an den Debugger. Wenn der Wert ungleich null ist, wird die Ausgabe aktiviert. Dieser Registrierungsschlüssel ist standardmäßig Output deaktiviert. Wenn Sie die Fehlerablaufverfolgungskonfiguration des Verbindungs-Managers ändern, werden die Änderungen wirksam, wenn ein Prozess, der die Msdtcprx.dll Datei lädt, wiederverwendet wird. Beispielsweise werden die Änderungen an der Fehlerablaufverfolgungskonfiguration des Verbindungs-Managers wirksam, wenn der MS DTC-Dienstprozess wiederverwendet wird.

Alternativ können Sie eine .reg-Datei erstellen und dann die Datei mithilfe von Registrierungs-Editor importieren. Gehen Sie dazu wie folgt vor:

  1. Erstellen Sie eine neue .reg-Datei, die das folgende Codebeispiel enthält:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output]
    "DebugOutEnabled"=dword:00000000
    "TraceFilePath"=""
    "MemoryBufferSize"=dword:0000000a
    "ImageNameInTraceFileNameEnabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources]
    "TRACE_MISC"=dword:00000000
    "TRACE_CM"=dword:00000000
    "TRACE_TRACE"=dword:00000000
    "TRACE_SVC"=dword:00000000
    "TRACE_GATEWAY"=dword:00000000
    "TRACE_UI"=dword:00000000
    "TRACE_CONTACT"=dword:00000000
    "TRACE_UTIL"=dword:00000000
    "TRACE_CLUSTER"=dword:00000000
    "TRACE_RESOURCE"=dword:00000000
    "TRACE_TIP"=dword:00000000
    "TRACE_XA"=dword:00000000
    "TRACE_LOG"=dword:00000000
    "TRACE_MTXOCI"=dword:00000000
    "TRACE_ETWTRACE"=dword:00000000
    "TRACE_PROXY"=dword:00000000
    "TRACE_KTMRM"=dword:00000000
    "TRACE_VSSBACKUP"=dword:00000000
    
  2. Wählen SieAlle Programme>starten>Zubehör>Ausführen aus, geben Sie regedit ein, und klicken Sie dann auf OK.

  3. Wählen Sie im Menü Datei die Option Importieren aus.

  4. Suchen Sie die Datei, die Sie in Schritt 1 erstellt haben, und wählen Sie dann Öffnen aus. Das Dialogfeld Registrierungs-Editor wird angezeigt.

  5. Wählen Sie OK aus.

  6. Wählen Sie im Menü Datei die Option Beenden aus.

Leistungseffekt

Standardmäßig ist die Ablaufverfolgungsfunktion in Windows deaktiviert. Daher gibt es bei einer regulären Installation keine Auswirkungen auf die Leistung.

Aktivieren Sie die Ablaufverfolgungsfunktionalität auf Produktionscomputern nur, wenn ein Microsoft Customer Support Professional angibt, dass die Ablaufverfolgungsinformationen zum Diagnostizieren eines Problems erforderlich sind. Die Ablaufverfolgung kann sich auf die Computerleistung auswirken. Zuerst müssen Sie das Problem finden und es beheben. Deaktivieren Sie dann sofort die Ablaufverfolgungsfunktion.

Clusterkonfiguration

Stellen Sie bei Clusterinstallationen sicher, dass alle Registrierungseinträge auf allen Knoten diese Registrierungseinträge enthalten. Für alle Knoten, die nicht über diese Registrierungseinträge verfügen, ignoriert der Clustercode die Registrierungseinträge in der freigegebenen Registrierung, da die Registrierungseinträge nicht in der lokalen Computerregistrierung vorhanden sind.