Ausführen des Transact-SQL-Debuggers

Gilt für:SQL Server

Sie können den Transact-SQL-Debugger starten, nachdem Sie ein Abfrage-Editor-Fenster für die Datenbank-Engine geöffnet haben. Anschließend können Sie Ihren Transact-SQL-Code im Debugmodus ausführen, bis Sie den Debugger beenden. Sie können Optionen festlegen, um die Ausführung des Debuggers anzupassen.

Diese Funktion arbeitet mit SSMS Version 17.9.1 und früher.

Starten und Beenden des Debuggers

Um den Transact-SQL-Debugger zu starten, müssen folgende Anforderungen erfüllt sein:

  • Wenn der Datenbank-Engine-Abfrage-Editor mit einer Instanz der Datenbank-Engine auf einem anderen Computer verbunden ist, müssen Sie den Debugger für das Remotedebuggen konfiguriert haben. Weitere Informationen finden Sie unter Konfigurieren von Firewallregeln vor dem Ausführen des Transact-SQL-Debuggers.

  • SQL Server Management Studio muss unter einem Windows-Konto ausgeführt werden, das Mitglied der festen Serverrolle „sysadmin“ ist.

  • Das Datenbank-Engine Abfrage-Editor-Fenster muss entweder mithilfe einer Windows-Authentifizierung oder mithilfe eines Anmeldenamens für die SQL Server -Authentifizierung, der Mitglied der festen Serverrolle sysadmin ist, verbunden werden.

  • Das Datenbank-Engine -Abfrage-Editor-Fenster muss mit einer Instanz des Datenbank-Engine von SQL Server 2005 (9.x) Service Pack 2 (SP2) oder höher verbunden sein. Sie können den Debugger nicht ausführen, wenn das Abfrage-Editor-Fenster mit einer Instanz verbunden ist, die sich im Einzelbenutzermodus befindet.

Wir empfehlen, den Transact-SQL-Code aus den folgenden Gründen auf einem Testserver und nicht auf einem Produktionsserver zu debuggen:

  • Debuggen ist ein Vorgang mit hohen Berechtigungen. Daher ist es nur Mitgliedern der festen Serverrolle „sysadmin“ erlaubt, in SQL Server zu debuggen.

  • Debugsitzungen werden oft über längere Zeiträume ausgeführt, während Sie die Vorgänge verschiedener Transact-SQL-Anweisungen untersuchen. Sperren, wie z.B. Updatesperren, die von der Sitzung eingerichtet werden, können längere Zeit beibehalten werden, bis die Sitzung beendet wird oder ein Commit oder ein Rollback für die Transaktion ausgeführt wurde.

Das Starten des Transact-SQL-Debuggers versetzt das Abfrage-Editor-Fenster in den Debugmodus. Wenn das Abfrage-Editor-Fenster in den Debugmodus wechselt, hält der Debugger bei der ersten Codezeile an. Sie können den Code Schritt für Schritt durchlaufen, die Ausführung bei bestimmten Transact-SQL-Anweisungen unterbrechen und mithilfe der Debuggerfenster den aktuellen Ausführungsstatus anzeigen. Um den Debugger zu starten, klicken Sie entweder auf der Symbolleiste Abfrage auf die Schaltfläche Debuggen oder im Menü Debuggen auf Debuggen starten .

Das Abfrage-Editor-Fenster bleibt im Debugmodus, bis entweder die letzte Anweisung im Abfrage-Editor-Fenster abgeschlossen ist oder Sie den Debugmodus beenden. Sie können den Debugmodus und die Anweisungsausführung mithilfe einer der folgenden Methoden beenden:

  • Klicken Sie im Menü Debuggen auf Debuggen beenden.

  • Klicken Sie auf der Symbolleiste Debuggen auf die Schaltfläche Debuggen beenden .

  • Klicken Sie im Menü Abfrage auf Ausführung der Abfrage abbrechen.

  • Klicken Sie auf der Symbolleiste Abfrage auf die Schaltfläche Ausführung der Abfrage abbrechen .

Außerdem können Sie den Debugmodus beenden und die Ausführung der verbleibenden Transact-SQL-Anweisungen zulassen, indem Sie im Menü Debuggen auf Alle trennen klicken.

Steuern des Debuggers

Sie können die Arbeitsweise des Transact-SQL-Debuggers mithilfe der folgenden Menübefehle, Symbolleisten und Verknüpfungen steuern:

  • Mit dem Menü Debuggen und der Symbolleiste Debuggen . Sowohl das Menü Debuggen als auch die Symbolleiste Debuggen sind inaktiv, bis der Fokus auf ein offenes Abfrage-Editor-Fenster verschoben wird. Sie bleiben aktiv, bis das aktuelle Projekt geschlossen wird.

  • Mit den Tastenkombinationen des Debuggers.

  • Mit dem Kontextmenü des Abfrage-Editors. Das Kontextmenü wird angezeigt, wenn Sie in einem Abfrage-Editor-Fenster mit der rechten Maustaste auf eine Zeile klicken. Wenn sich das Abfrage-Editor-Fenster im Debugmodus befindet, zeigt das Kontextmenü Debuggerbefehle an, die für die ausgewählte Zeile oder Zeichenfolge gelten.

  • Mit Menüelementen und Kontextbefehlen in den Fenstern, die vom Debugger geöffnet werden, wie z.B. das Fenster Überwachung oder Breakpoints .

Die folgende Tabelle enthält die Menübefehle, Symbolleistenschaltflächen und Tastenkombinationen für den Debugger.

Menübefehle für das Debuggen Editor-Verknüpfungsbefehl Symbolleistenschaltfläche Tastenkombinationen Aktion
Fenster/Breakpoints Nicht verfügbar Breakpoints STRG+ALT+B Zeigt das Fenster Breakpoints an, in dem Sie Breakpoints anzeigen und verwalten können.
Fenster/Überwachung/Überwachen 1 Nicht verfügbar Breakpoints/Überwachung/Überwachen 1 STRG+ALT+W, 1 Zeigt das Fenster Überwachen 1 an.
Fenster/Überwachung/Überwachen 2 Nicht verfügbar Breakpoints/Überwachung/Überwachen 2 STRG+ALT+W, 2 Zeigt das Fenster Überwachen 2 an.
Fenster/Überwachung/Überwachen 3 Nicht verfügbar Breakpoints/Überwachung/Überwachen 3 STRG+ALT+W, 3 Zeigt das Fenster Überwachen 3 an.
Fenster/Überwachung/Überwachen 4 Nicht verfügbar Breakpoints/Überwachung/Überwachen 4 STRG+ALT+W, 4 Zeigt das Fenster Überwachen 4 an.
Fenster/Lokal Nicht verfügbar Breakpoints/Lokal STRG+ALT+V, L Anzeigen des Fensters Lokal
Fenster/Aufrufliste Nicht verfügbar Breakpoints/Aufrufliste STRG+ALT+C Anzeigen des Fensters Aufrufliste
Fenster/Threads Nicht verfügbar Breakpoints/Threads STRG+ALT+H Anzeigen des Fensters Threads
Fortsetzen Nicht verfügbar Fortsetzen ALT+F5 Den Vorgang bis zum nächsten Breakpoint ausführen Weiter ist erst dann aktiv, wenn der Fokus auf ein Abfrage-Editor-Fenster verschoben wird, das sich im Debugmodus befindet.
Debuggen Nicht verfügbar Debuggen ALT+F5 Versetzt ein Abfrage-Editor-Fenster in den Debugmodus und führt den Vorgang bis zum ersten Breakpoint aus. Wenn sich Ihr Fokus auf ein Abfrage-Editor-Fenster richtet, das sich im Debugmodus befindet, wird Debuggen starten durch Weiterersetzt.
Alle unterbrechen Nicht verfügbar Alle unterbrechen STRG+ALT+UNTBR Dieses Feature wird vom Transact-SQL-Debugger nicht verwendet.
Debuggen beenden Nicht verfügbar Debuggen beenden UMSCHALT+F5 Deaktiviert den Debugmodus für ein Abfrage-Editor-Fenster und stellt den normalen Modus wieder her.
Debuggen Nicht verfügbar Nicht verfügbar Nicht verfügbar Beendet den Debugmodus, führt jedoch die übrigen Anweisungen im Abfrage-Editor-Fenster aus.
Einzelschritt Nicht verfügbar Einzelschritt F11 Führt die nächste Anweisung aus und öffnet außerdem ein neues Abfrage-Editor-Fenster im Debugmodus, wenn die nächste Anweisung eine gespeicherte Prozedur, einen Trigger oder eine Funktion ausführt.
Überspringen Nicht verfügbar Überspringen F10 Wie Einzelschritt, mit dem Unterschied, dass keine Funktionen, gespeicherten Prozeduren oder Trigger debuggt werden.
Rücksprung Nicht verfügbar Rücksprung UMSCHALT+F11 Führt den restlichen Code in einem Trigger, einer Funktion oder einer gespeicherten Prozedur aus, ohne bei Breakpoints anzuhalten. Der normale Debugmodus wird fortgesetzt, wenn die Steuerung an den Code, der das Modul aufgerufen hat, zurückgegeben wird.
Nicht verfügbar Ausführen bis Cursorposition Nicht verfügbar STRG+F10 Führt den gesamten Code von der letzten Halteposition bis zur aktuellen Cursorposition aus, ohne bei Breakpoints anzuhalten.
Schnellüberwachung Schnellüberwachung Nicht verfügbar STRG+ALT+Q Zeigt das Fenster Schnellüberwachung an.
Haltepunkt umschalten Breakpoint/Breakpoint einfügen Nicht verfügbar F9 Fügt einen Breakpoint für die aktuelle oder ausgewählte Transact-SQL-Anweisung ein.
Nicht verfügbar Breakpoint/Breakpoint löschen Nicht verfügbar Nicht verfügbar Löscht den Breakpoint aus der ausgewählten Zeile.
Nicht verfügbar Breakpoint/Breakpoint deaktivieren Nicht verfügbar Nicht verfügbar Deaktiviert den Breakpoint in der ausgewählten Zeile. Der Breakpoint bleibt in der Codezeile, beendet aber keine Ausführung, bis er erneut aktiviert wird.
Nicht verfügbar Breakpoint/Breakpoint aktivieren Nicht verfügbar Nicht verfügbar Aktiviert den Breakpoint in der ausgewählten Zeile.
Alle Breakpoints löschen Nicht verfügbar Nicht verfügbar STRG+UMSCHALT+F9 Löscht alle Breakpoints.
Alle Breakpoints deaktivieren Nicht verfügbar Nicht verfügbar Nicht verfügbar Deaktiviert alle Breakpoints.
Nicht verfügbar Überwachung hinzufügen Nicht verfügbar Nicht verfügbar Fügt dem Überwachungsfenster den ausgewählten Ausdruck hinzu.

Weitere Informationen