Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema gilt für folgende Editionen:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
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
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.
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.
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.
Testen Sie verschiedene Debugfeatures.
Ö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.
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.
Ö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.
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.
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.
Klicken Sie im Menü Debuggen auf Weiter.
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)
.gif)
.gif)