Freigeben über


Exemplarische Vorgehensweise: Debuggen einer gespeicherten T-SQL-Prozedur

Aktualisiert: November 2007

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

C++

Web Developer

Express

Standard

Pro und Team

Tabellenlegende:

Vorhanden

Nicht vorhanden

Befehl oder Befehle, die standardmäßig ausgeblendet sind.

In diesem Beispiel wird veranschaulicht, wie eine gespeicherte T-SQL-Prozedur anhand des direkten Datenbankdebuggens erstellt und gedebuggt wird, d. h., wie die gespeicherte Prozedur in Einzelschritten über Server-Explorer ausgeführt wird. Außerdem werden andere Debugverfahren veranschaulicht, unter anderem das Festlegen von Haltepunkten oder das Anzeigen von Datenelementen.

Hinweis:

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So debuggen Sie eine gespeicherte T-SQL-Prozedur

  1. Stellen Sie in einem neuen SQL Server-Projekt eine Verbindung zur Beispieldatenbank AdventureWorks her. Weitere Informationen finden Sie unter Gewusst wie: Herstellen einer Verbindung zu einer Datenbank.

  2. Erstellen Sie mit dem Code des ersten Beispielabschnitts unten eine neue gespeicherte Prozedur, und nennen Sie sie HelloWorld. Weitere Informationen finden Sie unter Gewusst wie: Entwickeln mit dem SQL Server-Projekttyp.

  3. Legen Sie in HelloWorld Haltepunkte fest, und führen Sie die gespeicherte Prozedur schrittweise aus. Weitere Informationen finden Sie unter Gewusst wie: Ausführen von Einzelschritten in Objekten mithilfe von Server-Explorer. Der durch einen gelben Pfeil gekennzeichnete Anweisungszeiger wird in der Zeile SET @mynvarchar = @@VERSION angezeigt. Es handelt sich hierbei um die erste ausführbare Codezeile der gespeicherten Prozedur.

  4. Testen Sie verschiedene Debugfeatures.

    1. Öffnen Sie das Fenster Lokal. Klicken Sie hierzu im Menü Debuggen auf Fenster, und klicken Sie anschließend auf Lokal. Beachten Sie, dass die Parameter und lokalen Variablen im Fenster Lokal mit den entsprechenden Werten angezeigt werden. Die Werte der Variablen können im Fenster Lokal bearbeitet werden, während die gespeicherte Prozedur ausgeführt wird. Weitere Informationen finden Sie unter Gewusst wie: Verwenden von Debuggervariablenfenstern.

      Hinweis   An den Werten der Variablen im Debuggerfenster vorgenommene Änderungen werden im Server u. U. nicht wiedergegeben. Weitere Informationen finden Sie unter Einschränkungen des SQL-Debuggers.

    2. Drücken Sie F10, um zur nächsten Zeile in der gespeicherten Prozedur zu wechseln. Beachten Sie, dass der Wert der @mynvarchar-Variablen im Fenster Lokal geändert wurde und dass ihr Wert nun in rot angezeigt wird, was auf die Änderung hinweist.

    3. Öffnen Sie das Fenster Überwachen. Klicken Sie hierzu im Menü Debuggen auf Fenster, und klicken Sie anschließend auf Überwachen. Weitere Informationen finden Sie unter Gewusst wie: Verwenden von Debuggervariablenfenstern.

    4. Doppelklicken Sie im Text-Editor auf die Variable @mynvarchar, um sie auszuwählen. Ziehen Sie @mynvarchar an eine beliebige Position im Fenster Überwachen. Daraufhin wird die Variable der Liste der überwachten Variablen hinzugefügt.

      Hinweis   Sie können Variablenwerte im Fenster Überwachen auch bearbeiten.

    5. Klicken Sie im Text-Editor mit der rechten Maustaste auf die Zeile Return (0), und klicken Sie im Kontextmenü auf die Option Haltepunkt einfügen.

    6. Klicken Sie im Menü Debuggen auf Weiter.

  5. Wählen Sie erneut Weiter, um die gespeicherte Prozedur vollständig zu debuggen.

    Hinweis   Alle gespeicherten Prozeduren der Datenbank AdventureWorks, die unter dem zugeordneten Knoten Gespeicherte Prozeduren angezeigt werden, können schrittweise ausgeführt werden.

Beispiel

Dies ist der Code für die gespeicherte Prozedur.

CREATE PROCEDURE HelloWorld
AS
    DECLARE @mynvarchar NVARCHAR(50),
            @myfloat FLOAT
    SET @mynvarchar  = @@VERSION
    SET @mynvarchar  = 'Hello, world!'
    SET @myfloat     = 1.6180
    PRINT @mynvarchar
    RETURN (0)

Siehe auch

Konzepte

Debuggen von SQL

Referenz

Server-Explorer/Datenbank-Explorer