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