Ausführen des Transact-SQL-Debuggers

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

Starten und Beenden des Debuggers

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

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

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

  • Das Database Engine (Datenbankmodul)-Abfrage-Editor-Fenster muss mithilfe eines Anmeldenamens für die Windows-Authentifizierung oder die SQL Server-Authentifizierung verbunden sein, der Mitglied der festen Serverrolle sysadmin ist.

  • Das Database Engine (Datenbankmodul)-Abfrage-Editorfenster muss mit einer Instanz von Database Engine (Datenbankmodul) von SQL Server 2005 Service Pack 2 (SP2) oder höher verbunden werden. 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 dürfen nur Mitglieder der festen Serverrolle sysadmin in SQL Server Debugvorgänge ausführen.

  • Debuggingsitzungen 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 schrittweise 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 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 mit den folgenden Menübefehlen, 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

Tastenkombination

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

Zeigt das Fenster Lokal an.

Fenster/Aufrufliste

Nicht verfügbar

Breakpoints/Aufrufliste

STRG+ALT+C

Zeigt das Fenster Aufrufliste an.

Fenster/Threads

Nicht verfügbar

Breakpoints/Threads

STRG+ALT+H

Zeigt das Fenster Threads an.

Weiter

Nicht verfügbar

Weiter

ALT+F5

Führt den Vorgang bis zum nächsten Breakpoint aus. Weiter ist erst dann aktiv, wenn der Fokus auf ein Abfrage-Editor-Fenster verschoben wird, das sich im Debugmodus befindet.

Debuggen starten

Nicht verfügbar

Debuggen starten

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 Weiter ersetzt.

Alle unterbrechen

Nicht verfügbar

Alle unterbrechen

STRG+ALT+UNTBR

Diese Funktion 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.

Alle trennen

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.

Prozedurschritt

Nicht verfügbar

Prozedurschritt

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.

Breakpoint ein/aus

Breakpoint/Breakpoint einfügen

Nicht verfügbar

F9

Positioniert einen Breakpoint bei der aktuellen oder ausgewählten Transact-SQL-Anweisung.

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.

Siehe auch

Verweis

Abfrage-Editor des Datenbankmoduls (SQL Server Management Studio)

Konzepte

Transact-SQL-Debugger

Schrittweises Durchlaufen von Transact-SQL-Code

Transact-SQL-Debuggerinformationen