Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

Wenn Sie eine verteilte Transaktion für einen Verbindungsserver ausführen, nachdem Sie Windows Server 2003 oder Windows XP Service Pack 2 installiert haben, erhalten Sie unter Umständen eine Fehlermeldung 7391 in SQL Server 2000

Der Support für Windows Server 2003 ist am 14. Juli 2015 abgelaufen.

Microsoft beendete den Support für Windows Server 2003 am 14. Juli 2015. Diese Änderung wirkt sich auf Ihre Softwareupdates und Sicherheitsoptionen aus. Erfahren Sie, was das für Sie bedeutet und wie Sie Ihren Schutz aufrechterhalten können.

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
839279 You may receive a 7391 error message in SQL Server 2000 when you run a distributed transaction against a linked server after you install Windows Server 2003 or Windows XP Service Pack 2
Wichtig: Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Bevor Sie die Registrierung bearbeiten, vergewissern Sie sich bitte, dass Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Erstellen einer Sicherungskopie, zum Wiederherstellen und Bearbeiten der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
256986 Beschreibung der Microsoft Windows-Registrierung
Problembeschreibung
Wenn Sie eine verteilte Transaktion für eine Instanz von SQL Server ausführen, wird möglicherweise eine Fehlermeldung wie die folgende angezeigt:

Server: Msg 7391, Ebene 16, Status 1, Zeile 1
Die Operation konnte nicht ausgeführt werden, da der OLE DB-Provider 'SQLOLEDB' keine verteilte Transaktion beginnen konnte. [Der OLE/DB-Provider hat die folgende Meldung zurückgegeben: Die neue Transaktion kann nicht in den angegebenen Transaktionskoordinator eingeschrieben werden.] (OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator.) OLE DB-Fehlertrace [OLE/DB-Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction gab 0x8004d00a zurück]. (OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].)


Dieses Problem kann auftreten, wenn eine der folgenden Bedingungen erfüllt ist:
  • Microsoft Windows Server 2003 oder Microsoft Windows XP Service Pack 2 (SP2) ist auf dem Computer installiert, der die verteilte Transaktion initiiert.
  • Microsoft Windows Server 2003 oder Microsoft Windows XP SP2 ist auf dem Remotecomputer, auf dem Microsoft SQL Server 2000 ausgeführt wird, und auf dem Computer installiert, der mit dem Computer verbunden ist, der die verteilte Transaktion initiiert.
Ursache
Dieses Problem kann aus einem oder mehreren der folgenden Gründe auftreten:
  • Der Microsoft Distributed Transaction Coordinator (MSDTC) ist für Netzwerktransaktionen deaktiviert.
  • Auf dem Computer ist die Windows-Firewall aktiviert. Die Windows-Firewall blockiert standardmäßig den Microsoft Distributed Transaction Coordinator (MSDTC).

    Hinweis: Dieses Problem kann selbst dann auftreten, wenn die Windows-Firewall deaktiviert ist.
Abhilfe
Warnung: Durch die falsche Bearbeitung der Registrierung mithilfe des Registrierungs-Editors oder einer anderen Methode können schwerwiegende Probleme verursacht werden. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung.

Gehen Sie auf dem Computer, auf dem Windows Server 2003 oder Windows XP SP2 installiert ist, folgendermaßen vor, um das Problem zu umgehen:
  1. Vergewissern Sie sich, dass das Konto Anmelden als für den MSDTC-Dienst das Netzwerkdienst-Konto ist. Gehen Sie hierzu folgendermaßen vor:
    1. Klicken Sie auf Start und anschließend auf Ausführen.
    2. Geben Sie in das Feld Öffnen den Dateinamen Services.msc ein, und klicken Sie auf OK.
    3. Suchen Sie im Fenster Dienste unter Name im rechten Fensterbereich nach dem Dienst Distributed Transaction Coordinator.
    4. Überprüfen Sie, ob in der Spalte Anmelden als der Eintrag Netzwerkdienst oder der Eintrag LocalSystem zu finden ist.

      Falls unter Anmelden als die Option Netzwerkdienst angegeben ist, setzen Sie mit Schritt 2 fort. Falls unter Anmelden als die Option LocalSystem angegeben ist, gehen Sie folgendermaßen vor:
    5. Klicken Sie auf Start und anschließend auf Ausführen.
    6. Geben Sie cmd in das Feld Öffnen ein, und klicken Sie auf OK.
    7. Geben Sie Net stop msdtc in die Eingabeaufforderung ein, um den MSDTC-Dienst zu beenden.
    8. Geben Sie Msdtc –uninstall in die Eingabeaufforderung ein, um MSDTC zu entfernen.
    9. Geben Sie regedit in die Eingabeaufforderung ein, um den Registrierungs-Editor zu starten.
    10. Gehen Sie im Registrierungs-Editor zum folgenden Schlüssel:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC


      Löschen Sie diesen Registrierungsschlüssel.
    11. Beenden Sie den Registrierungs-Editor.
    12. Geben Sie Msdtc –install in die Eingabeaufforderung ein, um MSDTC zu installieren.
    13. Geben Sie Net start msdtc in die Eingabeaufforderung ein, um den MSDTC-Dienst zu starten.

      Beachten Sie, dass das Konto Anmelden als für den MSDTC-Dienst jetzt das Konto Netzwerkdienst ist.
  2. Aktivieren Sie MSDTC, um die Netzwerktransaktion zu ermöglichen. Gehen Sie hierzu folgendermaßen vor:
    1. Klicken Sie auf Start und anschließend auf Ausführen.
    2. Geben Sie in das Feld Öffnen die Zeichenfolge dcomcnfg.exe ein, und klicken Sie auf OK.
    3. Erweitern Sie im Fenster Komponentendienste die Option Komponentendienste, erweitern Sie Computer, und erweitern Sie dann die Option Arbeitsplatz.
    4. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie anschließend auf Eigenschaften.
    5. Klicken Sie auf der Registerkarte MSDTC im Dialogfeld Eigenschaften von Arbeitsplatz auf Sicherheitskonfiguration.
    6. Aktivieren Sie im Dialogfeld Sicherheitskonfiguration das Kontrollkästchen DTC-Netzwerkzugriff.
    7. Um die Ausführung der verteilten Transaktion auf diesem Computer von einem Remotecomputer aus zu ermöglichen, aktivieren Sie das Kontrollkästchen Eingehende zulassen.
    8. Um die Ausführung der verteilten Transaktion auf einem Remotecomputer von diesem Computer aus zu ermöglichen, aktivieren Sie das Kontrollkästchen Ausgehende zulassen.
    9. Aktivieren Sie unter der Gruppe Transaktions-Manager-Kommunikation die Option Keine Authentifizierung erforderlich.
    10. Klicken Sie im Dialogfeld Sicherheitskonfiguration auf OK.
    11. Klicken Sie im Dialogfeld Eigenschaften von Arbeitsplatz auf OK.
  3. Konfigurieren Sie die Windows-Firewall so, dass das MSDTC-Programm und Port 135 als Ausnahmen anerkannt werden. Gehen Sie hierzu folgendermaßen vor:
    1. Klicken Sie auf Start und anschließend auf Ausführen.
    2. Geben Sie im Dialogfeld Öffnen den Befehl Firewall.cpl ein, und klicken Sie anschließend auf OK.
    3. Doppelklicken Sie in der Systemsteuerung auf Windows-Firewall.
    4. Klicken Sie im Dialogfeld Windows-Firewall auf der Registerkarte Ausnahmen auf Programm hinzufügen.
    5. Klicken Sie im Dialogfeld Programm hinzufügen auf die Schaltfläche Durchsuchen, und gehen Sie dann zu der Datei "Msdtc.exe". Standardmäßig ist diese Datei im Ordner <Installationslaufwerk>:\Windows\System32 gespeichert.
    6. Klicken Sie im Dialogfeld Programm hinzufügen auf OK.
    7. Klicken Sie im Dialogfeld Windows-Firewall in der Liste Programme und Dienste auf msdtc.
    8. Klicken Sie auf der Registerkarte Ausnahmen auf Port.
    9. Geben Sie im Dialogfeld Port hinzufügen die Nummer 135 in das Feld Portnummer ein, und klicken Sie dann auf die Option TCP.
    10. Geben Sie im Dialogfeld Port hinzufügen einen Namen für die Ausnahme in das Feld Name ein, und klicken Sie dann auf OK.
    11. Wählen Sie im Dialogfeld Windows-Firewall den Namen aus, den Sie in Schritt j für die Ausnahme in der Liste Programme und Dienste verwendet haben, und klicken Sie danach auf OK.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Melden Sie sich bei einem Computer an, auf dem Windows Server 2003 oder Windows XP SP2 installiert ist.
  2. Starten Sie den Query Analyzer.
  3. Fügen Sie einen Computer, auf dem Microsoft SQL Server ausgeführt wird, als Verbindungsserver hinzu. Führen Sie hierzu die folgende Transact-SQL-Anweisung im Query Analyzer aus:
    EXEC sp_addlinkedserver  '<remote_server>',  N'SQL SERVER'GO

    Hinweis: Ersetzen Sie die Angabe Remoteserver durch den Namen des Computers, der als Verbindungsserver konfiguriert werden muss.
  4. Führen Sie eine verteilte Transaktion zwischen diesem Computer und dem Remotecomputer aus. Führen Sie hierzu die folgende Transact-SQL-Anweisung im Query Analyzer aus:
    SET xact_abort ON GOUSE  pubsGOBEGIN DISTRIBUTED TRANSACTIONSELECT  *  FROM <remote_server>.pubs.dbo.authorsCOMMIT TRANGO
    Ihnen wird jetzt eventuell die Fehlermeldung aus dem Abschnitt "Problembeschreibung" angezeigt.
Informationsquellen
Weitere Informationen zum Konfigurieren von Windows XP Service Pack 2 auf die Verwendung in Verbindung mit SQL Server 2000 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
841249 So konfigurieren Sie Windows XP Service Pack 2 (SP2) für die Verwendung mit einem SQL Server
MSDTC RPC Springboard XP SP2 DTC
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 839279 – Letzte Überarbeitung: 01/04/2006 16:33:03 – Revision: 3.3

  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Windows XP Embedded
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • kbregistry kberrmsg kbdtc kbdomain kbauthentication kbtransaction kbrpc kbprb KB839279
Feedback
l>ndow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");