DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 917825 - Geändert am: Montag, 4. Februar 2013 - Version: 3.0

 

Auf dieser Seite

Zusammenfassung

Das Sqldumper.exe-Dienstprogramm ist im Lieferumfang von Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 und Microsoft SQL Server 2012. Dieser Artikel beschreibt, wie Sie das Sqldumper.exe-Dienstprogramm verwenden, um eine Dumpdatei für Watson-Fehlerberichterstattung oder Debugaufgaben zu generieren.

Weitere Informationen

Das Sqldumper.exe-Dienstprogramm können Sie eine Abbilddatei on-Demand für Microsoft Windows-Anwendung erstellen. Beispielsweise können Sie eine Dumpdatei zum Debuggen ein Anwendungsproblem bei einem Computer mit SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 generieren, oder Microsoft SQL Server 2012 reagiert nicht auf Anfragen von Benutzern. Eine Speicherabbilddatei kann eine Minidump-Datei, eine vollständige Speicherabbilddatei oder eine gefilterte Dumpdatei sein.

Sie können nicht jedoch das Sqldumper.exe-Dienstprogramm für allgemeine Zwecke Debuggen verwenden. Weitere Informationen über das Debuggen von general Purpose finden Sie auf der folgenden Microsoft-Website:
http://www.Microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx)
Der SQL Server-Prozess Ruft das Sqldumper.exe-Dienstprogramm intern, um eine Abbilddatei zu erstellen, wenn der Prozess Ausnahmen auftreten. SQL Server übergibt die Flags für das Sqldumper.exe-Dienstprogramm. Ablaufverfolgungsflags können Sie um die Flags zu ändern, die SQL Server an das Dienstprogramm im Kontext einer Ausnahme oder im Kontext einer Assertion geändert wird. Diese Ablaufverfolgungsflags werden im Bereich von 2540 und 2559 ein. Diese Ablaufverfolgungsflags können bestimmte Typen von Speicherabbilddateien generieren. Zum Beispiel:
  • Das Ablaufverfolgungsflag 2551: Erzeugt eine gefilterte Speicherabbild
  • Das Ablaufverfolgungsflag 2544: Erzeugt eines vollständiges Speicherabbilds
  • Das Ablaufverfolgungsflag 2546: Sichert alle Threads für SQL Server in der Dumpdatei
  • Ablaufverfolgungsflag 8026: SQL Server wird eine DumpTrigger löschen nach dem Generieren des Dumps einmal
Wenn zwei oder mehr Ablaufverfolgungsflags aktiviert sind, wird die Option, der angibt, des größten Speicherabbild berücksichtigt werden. Wenn Ablaufverfolgungsflags 2551 und 2544 verwendet werden, wird SQL Server ein vollständiges Speicherabbild erstellen.

So erhalten Sie Microsoft Windows-Anwendung Prozess-ID

Um eine Abbilddatei erstellen mithilfe des Dienstprogramms Sqldumper.exe, benötigen die Prozess-ID der Windows-Anwendung Sie eine Speicherabbilddatei generiert werden soll. Gehen Sie folgendermaßen vor, um die Prozess-ID zu erhalten:
  1. Drücken Sie STRG + ALT + ENTF, und klicken Sie dann auf Task-Manager.
  2. In der Windows Task-Manager Klicken Sie im Dialogfeld klicken Sie auf der Prozesse Registerkarte.
  3. Auf der Ansicht Menü, klicken Sie auf Wählen Sie Spalten.
  4. In der Wählen Sie Spalten Dialogfeld, klicken Sie auf der PID (Prozesskennung) Kontrollkästchen Sie, und klicken Sie dann auf OK.
  5. Beachten Sie die Prozess-ID der Windows-Anwendung für die Sie eine Abbilddatei erstellen möchten. Beachten Sie für die SQL Server-Anwendung die Prozess-ID des Prozesses Sqlservr.exe.
  6. Schließen Task-Manager.
Sie können auch die Prozess-ID der SQL Server-Anwendung abrufen, die auf Ihrem Computer ausgeführt wird, mithilfe der SQL Server-Fehlerprotokolldatei. Teil der SQL Server-Fehlerprotokolldatei ähnelt z. B. die folgenden:

2006-04-18 09:53:03.94 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X 86)
14 Oktober 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition auf Windows NT 5.2 (Build 3790: Service Pack 1)

2006-04-18-09:53:03.94-Server (c) 2005 Microsoft Corporation.
2006-04-18-09:53:03.94 Server alle Rechte vorbehalten.
2006-04-18 09:53:03.94 Server Server-Prozess-ID ist 3716.

Die Zahl nach Die Serverprozess-ID ist die Prozess-ID für den Prozess Sqlservr.exe.

Gewusst wie: das Sqldumper.exe-Dienstprogramm ausführen

Führen Sie das Sqldumper.exe-Dienstprogramm im Kontext des Ordners, auf dem SQL Server-Dienstprogramms ursprünglich installiert. Standardmäßig ist der Installationspfad des Sqldumper.exe-Dienstprogramm wie folgt:
SQLServerInstallDrive: \Programme\Microsoft SQL Server\90\Shared\SQLDumper.exe
HinweisSQLServerInstallDrive ist ein Platzhalter für das Laufwerk, auf dem SQL Server 2005 installiert.

Gehen Sie folgendermaßen vor, um eine Abbilddatei zu generieren, mit das Dienstprogramm Sqldumper.exe:
  1. Öffnen Sie den folgenden Ordner:
    SQLServerInstallDrive: \Programme\Microsoft SQL Server\Anzahl\Shared
    Hinweis In diesem Ordnerpfad Anzahl ist ein Platzhalter für eine der folgenden:
    • Der Ordnername ist 110 für SQL Server 2012.
    • Der Ordnername ist 100 für SQL Server 2008.
    • Der Ordnername 90 für SQL Server 2005.

  2. Stellen Sie sicher, dass die Datei "Dbghelp.dll" in diesem Ordner befindet.
  3. Klicken Sie auf Start, klicken Sie auf Ausführen, Typ cmd, und klicken Sie dann auf OK.
  4. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:
    CD SQLServerInstallDrive: \Programme\Microsoft SQL Server\Anzahl\Shared
    Hinweis In diesem Ordnerpfad ist Zahl ein Platzhalter für eine der folgenden:
    • Der Ordnername ist 110 für SQL Server 2012.
    • Der Ordnername ist 100 für SQL Server 2008.
    • Der Ordnername 90 für SQL Server 2005.
  5. Um eine bestimmte Art von Dump-Datei zu generieren, geben Sie den entsprechenden Befehl an der Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE:
    • Vollständige Speicherabbilddatei
      SQLDumper.exe Prozess-ID 0 0x01100
    • Minidump-Datei
      SQLDumper.exe Prozess-ID 0 0 x 0120
    • Umfasst, die indirekt Minidump-Datei verweist auf Speicher
      SQLDumper.exe Prozess-ID 0 0x0120:40
    • Gefilterte Speicherabbilddatei
      SQLDumper.exe Prozess-ID 0 0 x 8100
    HinweisProzess-ID ist ein Platzhalter für die Prozess-ID der Windows-Anwendung für die Sie eine Abbilddatei erstellen möchten.
Wenn das Sqldumper.exe-Dienstprogramm erfolgreich ausgeführt wird, generiert das Dienstprogramm eine Dumpdatei in den Ordner, in dem das Dienstprogramm installiert ist.

Die Dumpdatei, die generiert das Sqldumper.exe-Dienstprogramm hat ein Dateinamensmuster ein, die der folgenden ähnelt:
SQLDmprxxxx.mdmp
In diesem Muster xxxx basiert eine wachsende Zahl, die bestimmt wird auf andere Dateien, die über einen ähnlichen Namen im selben Ordner. Wenn Sie bereits Dateien im Ordner, die Dateinamen in das angegebene Muster haben verfügen, musst du vergleichen Sie das Datum und Uhrzeit, die zum Identifizieren der Datei, die Sie möchten die Datei erstellt wurde.

Weitere Informationen und Überlegungen

Wenn das Sqldumper.exe-Dienstprogramm eine Dumpdatei für eine Windows-Anwendung generiert, die Dump-Datei so groß wie der Speicher möglicherweise, die zurzeit Windows-Anwendung verwendet wird. Stellen Sie sicher, dass ausreichend Speicherplatz auf dem Laufwerk verfügbar ist, dem das Sqldumper.exe-Dienstprogramm die Speicherabbilddatei schreibt.

Sie können das Verzeichnis angeben, in denen das Sqldumper.exe-Dienstprogramm die Speicherabbilddatei geschrieben werden soll. Das Verzeichnis muss bereits vor dem Ausführen des Dienstprogramms Sqldumper.exe vorhanden sein. Andernfalls wird das Sqldumper.exe-Dienstprogramm nicht. Verwenden Sie einen UNC-Pfad nicht als Speicherort für die Speicherabbilddatei. Es folgt ein Beispiel, wie der Absturzspeicherabbild Dateispeicherort der minidumpdatei:
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, Typ cmd, und klicken Sie dann auf OK.
  2. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE:
    CD SQLServerInstallDrive: \Programme\Microsoft SQL Server\Anzahl\Shared
    Hinweis In diesem Ordnerpfad Anzahl ist ein Platzhalter für eine der folgenden:
    • Der Ordnername ist 110 für SQL Server 2012.
    • Der Ordnername ist 100 für SQL Server 2008.
    • Der Ordnername 90 für SQL Server 2005.
  3. Geben Sie den folgenden Befehl an der Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE:
    SQLDumper.exe ProcessID 0 0 x 0120 0 MdumpPath
    HinweisMdumpPathist ein Platzhalter für das Verzeichnis, in dem das Sqldumper.exe-Dienstprogramm die Speicherabbilddatei geschrieben werden soll. Standardmäßig ist die Datei im aktuellen Ordner geschrieben.
Wenn Sie eine vollständige Speicherabbilddatei oder eine gefilterte Speicherabbilddatei generiert werden angeben, kann das Sqldumper.exe-Dienstprogramm die Abbilddatei erstellen dauern. Die Zeit hängt von der folgenden Variablen:
  • Die Speichermenge, die derzeit das Sqldumper.exe-Dienstprogramm verwendet
  • Die Geschwindigkeit des Laufwerks, auf das das Dienstprogramm die Speicherabbilddatei schreiben ist
Während dieser Zeit verarbeitet das Sqldumper.exe-Dienstprogramm keine Befehle. Sie werden feststellen, dass der Server reagiert. Darüber hinaus kann ein Clusterfailover auftreten.

Um das Sqldumper.exe-Dienstprogramm ausführen, müssen Sie an Windows anmelden mithilfe einer der folgenden Methoden:
  • Verwenden Sie ein Konto, das Mitglied der Gruppe Administratoren auf dem Computer ist.
  • Verwenden Sie das gleiche Benutzerkonto, unter dem der SQL Server-Dienst ausgeführt wird.
Für das Sqldumper.exe-Dienstprogramm über Remotedesktop oder Terminaldienste erfolgreich zu arbeiten müssen Sie den Remotedesktop oder Terminaldienste im Konsolenmodus starten. Klicken Sie beispielsweise, um Remotedesktop im Konsolenmodus zu starten Start, klicken Sie auf Ausführen, Typ Mstsc/Console, und klicken Sie dann auf OK. Denken Sie daran, dass wenn der Zielserver Windows 2000 ausgeführt wird, wird die Option/Console stillschweigend ignoriert. Sie können auf den Server über Remote Desktop verbinden. Aber Sie werden nicht die Konsolensitzung verwenden.
Wenn Sie feststellen, dass keine Speicherabbilddatei im aktuellen Ordner generiert wurde, nachdem Sie das Sqldumper.exe-Dienstprogramm ausführen, überprüfen Sie die Informationen, die in der Befehlszeile zu versuchen, die mögliche Ursache des Fehlers bestimmen das Dienstprogramm generiert hat. Diese Informationen werden auch in der SQLDUMPER_ERRORLOG.log auf Datei im aktuellen Verzeichnis protokolliert. Es folgen zwei mögliche Fehlermeldungen und deren Ursachen:
Nachricht 1
OpenProcess fehlgeschlagen 0 x 57 - der Parameter ist falsch

Prozess-ID an das Sqldumper.exe-Dienstprogramm wurde eine ungültige übergeben werden.
Nachricht 2
Ungültiger Wert für die Thread-Id - Parameter <invalid parameter="">Fehler </invalid>

Ein ungültiger Parameter wurde an das Sqldumper.exe-Dienstprogramm übergeben.

Wenn eine Fehlermeldung angezeigt, die eine der folgenden ähnelt generiert wird, können Sie diese Meldung ignorieren:

Unbekannter Rückruftyp während Minidump 6
Unbekannter Rückruftyp während Minidump 7

Clusterfailover und das Sqldumper.exe-Dienstprogramm

In Cluster-Failover-Szenarien kann die SQL Server-Ressource DLL jetzt Abrufen einer Speicherabbilddatei bevor das Failover erfolgt. Die SQL Server-Ressourcen-DLL fest, dass eine SQL Server-Ressource fehlgeschlagen ist, wird die SQL Server-Ressource DLL das Sqldumper.exe-Dienstprogramm eine Speicherabbilddatei des SQL Server-Prozesses abgerufen. Um sicherzustellen, dass das Sqldumper.exe-Dienstprogramm die Speicherabbilddatei erfolgreich generiert, müssen Sie als erforderliche Komponenten die folgenden drei Eigenschaften festlegen:
  • SqlDumperDumpTimeOut
    Ein Benutzer angegebenen Timeout. Die Ressource, die DLL für das Speicherabbild abgeschlossen werden, bevor Sie die Ressourcen-DLL wartet beendet den SQL Server-Dienst.
  • SqlDumperDumpPath
    Der Speicherort, in denen das Sqldumper.exe-Dienstprogramm die Speicherabbilddatei generiert.
  • SqlDumperDumpFlags
    Flags, die das Sqldumper.exe-Dienstprogramm verwendet.
Wenn eine der Eigenschaften nicht festgelegt ist, generiert das Sqldumper.exe-Dienstprogramm kann nicht die Dump-Datei. Eine Warnmeldung wird protokolliert im Ereignisprotokoll sowohl im Clusterprotokoll sobald die Ressource online geschaltet wird.

Zum Festlegen der Eigenschaften des Sqldumper.exe-Dienstprogramm für die Clusterfailover-gehen Sie folgendermaßen vor:
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, Typ cmd, und klicken Sie dann auf OK.
  2. Geben Sie für jede Eigenschaft den entsprechenden Befehl an der Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE:
    • Die SqlDumperDumpFlags Eigenschaft
      Festlegen der SqlDumperDumpFlags -Eigenschaft für eine bestimmte Art von Dumpdatei, geben Sie den entsprechenden Befehl an der Eingabeaufforderung ein und drücken Sie dann die EINGABETASTE:
      • Alle Threads vollständige Speicherabbilddatei
        • Standardinstanz
          Cluster Resource "SQL Server" / Priv SqlDumperDumpFlags = 0x01100
        • Benannte Instanz
          Cluster Resource "SQL Server-(Instanz 1)" / Priv SqlDumperDumpFlags = 0x01100
      • Alle Threads Minidump-Datei
        • Standardinstanz
          Cluster Resource "SQL Server" / Priv SqlDumperDumpFlags = 0 x 0120
        • Benannte Instanz
          Cluster Resource "SQL Server-(Instanz 1)" / Priv SqlDumperDumpFlags = 0 x 0120
      • Alle Threads Dump-Datei gefiltert
        • Standardinstanz
          Cluster Resource "SQL Server" / Priv SqlDumperDumpFlags = 0 x 8100
        • Benannte Instanz
          Clusterressource "SQL Server(INSTANCE1)"/ Priv SqlDumperDumpFlags = 0 x 8100
    • DieSqlDumperDumpPath Eigenschaft
      Cluster Resource "SQL Server" / Priv SqlDumperDumpPath = DirectoryPath
      Hinweis DirectoryPath ist ein Platzhalter für das Verzeichnis, in dem die Speicherabbilddatei generiert werden, und es muss in Anführungszeichen angegeben werden ("").
    • Die SqlDumperDumpTimeOut Eigenschaft
      Cluster Resource "SQL Server" / Priv SqlDumperDumpTimeOut = Timeout
      Hinweis Timeout ist ein Platzhalter für das Timeout in Millisekunden (ms).

      Die Dauer des Dienstprogramms zum Generieren einer Dumpdatei eines SQL Server-Prozesses hängt von der Konfiguration des Computers. Für einen Computer, der viel Speicher verfügt, könnte die Zeit beträchtlich sein. Verwenden Sie das Sqldumper.exe-Dienstprogramm manuell eine Speicherabbilddatei generiert, um eine Schätzung, wie lange der Vorgang dauert zu erhalten. Die gültigen Werte für die SqlDumperDumpTimeOut Eigentum sind aus 10000 Millisekunden um MAXDWORD. MAXDWORD den höchsten Wert in den Bereich des Datentyps DWORD (4294967295) darstellt.
Um sicherzustellen, dass die Einstellungen aktiviert wurden, können Sie den folgenden Befehl ausführen:
Cluster Resource "SQL Server" / Priv "

Um die Eigenschaften des Sqldumper.exe für die Clusterfailover-zu entfernen, gehen Sie folgendermaßen vor:
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, Typ cmd, und klicken Sie dann auf OK.
  2. Geben Sie für eine bestimmte Eigenschaft den entsprechenden Befehl an der Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE:
    • Die SqlDumperDumpFlags Eigenschaft
      • Standardinstanz
        Cluster Resource "SQL Server" /priv:SqlDumperDumpFlags/USEDEFAULT
      • Benannte Instanz
        Cluster Resource "SQL Server-(Instanz 1)" /priv:SqlDumperDumpFlags/USEDEFAULT
    • Die SqlDumperDumpPath Eigenschaft
      • Standardinstanz
        Cluster Resource "SQL Server" /priv:SqlDumperDumpPath/USEDEFAULT
      • Benannte Instanz
        Clusterressource "SQL Server(INSTANCE1)"/priv:SqlDumperDumpPath/USEDEFAULT
    • Die SqlDumperDumpTimeOutEigenschaft
      • Standardinstanz
        Cluster Resource "SQL Server" /priv:SqlDumperDumpTimeOut/USEDEFAULT
      • Benannte Instanz
        Clusterressource "SQL Server(INSTANCE1)"/priv:SqlDumperDumpTimeOut/USEDEFAULT

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
Keywords: 
kbsql2005tool kbexpertiseadvanced kbhowto kbinfo kbmt KB917825 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 917825  (http://support.microsoft.com/kb/917825/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store