Konfigurieren und Starten 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. Um Ihre Anforderungen zu erfüllen, können Sie durch Festlegen von Optionen bestimmen, wie der Debugger ausgeführt werden soll.

Konfigurieren des Transact-SQL-Debuggers

Der Transact-SQL-Debugger umfasst sowohl serverseitige als auch clientseitige Komponenten. Die serverseitigen Debuggerkomponenten werden mit jeder Instanz von SQL Server 2008Database Engine (Datenbankmodul) installiert. Die clientseitigen Komponenten werden bei der Installation der clientseitigen SQL Server 2008-Tools installiert.

Es gibt keine Konfigurationsvoraussetzungen für die Ausführung des Transact-SQL-Debuggers, wenn SQL Server Management Studio auf demselben Computer wie die Instanz von SQL Server Database Engine (Datenbankmodul) ausgeführt wird. Zum Ausführen des Transact-SQL-Debuggers, wenn SQL Server Management Studio auf einem anderen Computer aus der Instanz von Database Engine (Datenbankmodul) ausgeführt wird, müssen Sie jedoch Programm- und Portausnahmen mithilfe der Systemsteuerungsanwendung Windows Firewall auf beiden Computern aktivieren.

Auf dem Computer, auf dem die Instanz von Database Engine (Datenbankmodul) ausgeführt wird, geben Sie in Windows-Firewall die folgenden Informationen an:

  • Fügen Sie der Ausnahmeliste TCP-Port 135 hinzu.

  • Fügen Sie das Programm sqlservr.exe der Ausnahmeliste hinzu. Standardmäßig wird sqlservr.exe im Verzeichnis C:\Programme\Microsoft SQL Server\MSSQL10InstanceName\MSSQL\Binn installiert, wobei InstanceName für die Standardinstanz und der Instanzname für eine beliebige benannte Instanz MSSQLSERVER lautet.

  • Wenn die Domänenrichtlinie eine Netzwerkkommunikation über IPSec erfordert, müssen Sie auch den UDP-Port 4500 und den UDP-Port 500 der Ausnahmeliste hinzufügen.

Auf dem Computer, auf dem SQL Server Management Studio ausgeführt wird, geben Sie in Windows-Firewall die folgenden Informationen an:

  • Fügen Sie der Ausnahmeliste TCP-Port 135 hinzu.

  • Fügen Sie der Ausnahmeliste das Programm ssms.exe (SQL Server Management Studio) hinzu. Standardmäßig wird ssms.exe unter C:\Programme\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE installiert.

Starten und Beenden des Debuggers

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

  • 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 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 Database Engine (Datenbankmodul)-Abfrage-Editor-Fenster muss mit einer Instanz von SQL Server 2008Database Engine (Datenbankmodul) 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 debuggen.

  • 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. Aktualisierungssperren, 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 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 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 Haltepunkte.

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/Haltepunkte

Nicht verfügbar

Haltepunkte

STRG+ALT+B

Zeigt das Fenster Haltepunkte an, in dem Sie Haltepunkte anzeigen und verwalten können.

Fenster/Überwachung/Überwachen 1

Nicht verfügbar

Haltepunkte/Überwachung/Überwachen 1

STRG+ALT+W, 1

Zeigt das Fenster Überwachen 1 an.

Fenster/Überwachung/Überwachen 2

Nicht verfügbar

Haltepunkte/Überwachung/Überwachen 2

STRG+ALT+W, 2

Zeigt das Fenster Überwachen 2 an.

Fenster/Überwachung/Überwachen 3

Nicht verfügbar

Haltepunkte/Überwachung/Überwachen 3

STRG+ALT+W, 3

Zeigt das Fenster Überwachen 3 an.

Fenster/Überwachung/Überwachen 4

Nicht verfügbar

Haltepunkte/Überwachung/Überwachen 4

STRG+ALT+W, 4

Zeigt das Fenster Überwachen 4 an.

Fenster/Lokal

Nicht verfügbar

Haltepunkte/Lokal

STRG+ALT+V, L

Zeigt das Fenster Lokal an.

Fenster/Aufrufliste

Nicht verfügbar

Haltepunkte/Aufrufliste

STRG+ALT+C

Zeigt das Fenster Aufrufliste an.

Fenster/Threads

Nicht verfügbar

Haltepunkte/Threads

STRG+ALT+H

Zeigt das Fenster Threads an.

Weiter

Nicht verfügbar

Weiter

ALT+F5

Führt den Vorgang bis zum nächsten Haltepunkt 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 Haltepunkt 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

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.

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 Haltepunkten 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 Haltepunkten anzuhalten.

Schnellüberwachung

Schnellüberwachung

Nicht verfügbar

STRG+ALT+Q

Zeigt das Fenster Schnellüberwachung an.

Haltepunkt ein/aus

Haltepunkt/Haltepunkt einfügen

Nicht verfügbar

F9

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

Nicht verfügbar

Haltepunkt/Haltepunkt löschen

Nicht verfügbar

Nicht verfügbar

Löscht den Haltepunkt aus der ausgewählten Zeile.

Nicht verfügbar

Haltepunkt/Haltepunkt deaktivieren

Nicht verfügbar

Nicht verfügbar

Deaktiviert den Haltepunkt in der ausgewählten Zeile. Der Haltepunkt bleibt in der Codezeile, beendet aber keine Ausführung, bis er erneut aktiviert wird.

Nicht verfügbar

Haltepunkt/Haltepunkt aktivieren

Nicht verfügbar

Nicht verfügbar

Aktiviert den Haltepunkt in der ausgewählten Zeile.

Alle Haltepunkte löschen

Nicht verfügbar

Nicht verfügbar

STRG+UMSCHALT+F9

Löscht alle Haltepunkte.

Alle Haltepunkte deaktivieren

Nicht verfügbar

Nicht verfügbar

Nicht verfügbar

Deaktiviert alle Haltepunkte.

Nicht verfügbar

Überwachung hinzufügen

Nicht verfügbar

Nicht verfügbar

Fügt dem Überwachungsfenster den ausgewählten Ausdruck hinzu.