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)