Exemplarische Vorgehensweise: Debuggen einer gespeicherten Transact-SQL-Prozedur

Dieses Thema gilt für folgende Editionen:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

yet1b7by.DoesApplybmp(de-de,VS.100).gif yet1b7by.DoesApplybmp(de-de,VS.100).gif yet1b7by.DoesApplybmp(de-de,VS.100).gif yet1b7by.DoesNotApplybmp(de-de,VS.100).gif

Dieses Beispiel veranschaulicht, wie eine gespeicherte Transact-SQL-Prozedur durch direktes Datenbankdebugging erstellt und gedebuggt wird, d. h., wie mit dem Server-Explorer ein Einzelschritt in die gespeicherte Prozedur ausgeführt wird.Außerdem werden andere Debugverfahren veranschaulicht, unter anderem das Festlegen von Haltepunkten oder das Anzeigen von Datenelementen.

Tipp

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 zum Ändern der Einstellungen im Menü Extras auf Einstellungen importieren und exportieren.Weitere Informationen finden Sie unter Visual Studio Settings.

So debuggen Sie eine gespeicherte Transact-SQL-Prozedur

  1. Stellen Sie in einem neuen SQL Server-Projekt eine Verbindung mit der AdventureWorks2008-Beispieldatenbank her.Weitere Informationen finden Sie unter Gewusst wie: Herstellen einer Datenbankverbindung mit dem Server-Explorer.

  2. Erstellen Sie mit dem Code aus dem ersten Beispielabschnitt unten eine neue gespeicherte Prozedur mit dem Namen "HelloWorld".Weitere Informationen finden Sie unter Gewusst wie: Debuggen mit einem SQL Server-Datenbankprojekt oder -Serverprojekt.

  3. Legen Sie in HelloWorld Haltepunkte fest, und führen Sie die gespeicherte Prozedur schrittweise aus.Weitere Informationen finden Sie unter Gewusst wie: Einzelschritt in ein Objekt mit dem 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 How to: Use Debugger Variable Windows.

      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 How to: Use Debugger Variable Windows.

    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   Sie können einen Einzelschritt in alle gespeicherten Prozeduren in der AdventureWorks2008-Datenbank ausführen, die unter dem zugehörigen Knoten Gespeicherte Prozeduren angezeigt 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 Transact-SQL

Andere Ressourcen

Server Explorer/Database Explorer