Freigeben über


Debuggen von gespeicherten Prozeduren

Mit dem Transact-SQL-Debugger können Sie gespeicherte Prozeduren interaktiv debuggen, indem Sie die SQL-Aufrufliste, lokale Variablen und Parameter für die gespeicherte SQL-Prozedur anzeigen. Der Transact-SQL-Debugger unterstützt das Anzeigen und Ändern lokaler Variablen und Parameter, das Anzeigen globaler Variablen. Er bietet auch die Möglichkeit, Breakpoints beim Debuggen Ihres Transact-SQL-Skripts zu steuern und zu verwalten.

In diesem Beispiel wird veranschaulicht, wie eine gespeicherte Transact-SQL-Prozedur durch schrittweises Ausführen erstellt und gedebuggt wird.

Hinweis

Das Debuggen von Transact-SQL ist für Azure SQL-Datenbank oder Azure SQL Managed Instance nicht verfügbar.

Debuggen einer gespeicherten Prozedur

  1. Stellen Sie im Fenster Datenbank-Engine Abfrage-Editor eine Verbindung mit einer Instanz des SQL Server-Datenbank-Engine her. Wählen Sie eine Datenbank aus, in der Sie eine gespeicherte Prozedur als Beispiel erstellen können.

  2. Fügen Sie im Abfrage-Editor den folgenden Code ein.

    CREATE TABLE [dbo].[Products] ([Id] INT, [Name] NVARCHAR(128))
    
    CREATE PROCEDURE [dbo].[AddProduct]
    @id INT,
    @name NVARCHAR(128)
    AS
    BEGIN
        INSERT INTO [dbo].[Products] ([Id], [Name]) VALUES (@id, @name)
        SELECT [Name] FROM [dbo].[Products] WHERE [Id] = @id
        DECLARE @nextid INT
        SET @nextid = @id + 1
        INSERT INTO [dbo].[Products] ([Id], [Name]) VALUES (@id, @name)
        SELECT [Name] FROM [dbo].[Products] WHERE [Id] = @nextid
    END
    
  3. Drücken Sie F5 , um den Transact-SQL Code auszuführen.

  4. Klicken Sie im SQL Server-Objekt-Explorer mit der rechten Maustaste auf dasselbe Datenbankmodul, und wählen Sie "Neue Abfrage" aus. Stellen Sie sicher, dass Sie mit derselben Datenbank verbunden sind, in der Sie die gespeicherte Prozedur erstellt haben.

  5. Fügen Sie im Abfragefenster den folgenden Code ein:

    EXECUTE [dbo].[AddProduct] 50, N'T-SQL Debugger Test';
    GO
    
  6. Wählen Sie den linken Fensterrandbereich aus, um der EXEC-Anweisung einen Haltepunkt hinzuzufügen.

  7. Drücken Sie den Dropdownlistenpfeil auf der grünen Pfeilschaltfläche in der Symbolleiste Transact-SQL-Editors, und wählen Sie "Mit Debugger ausführen" aus, um die Abfrage mit dem Debuggen auszuführen.

  8. Alternativ können Sie mit dem Debuggen über das SQL-Menü beginnen. Wählen Sie SQL>Mit Debugger ausführen aus.

  9. Vergewissern Sie sich, dass das Fenster Lokal geöffnet ist. Wählen Sie andernfalls das Menü "Debuggen " aus, und wählen Sie "Windows" und "Lokal" aus.

  10. Drücken Sie F11 , um in die Abfrage zu gelangen. Die Parameter der Speicherprozedur und deren jeweiligen Werte werden im Fenster "Lokal" angezeigt. Sie können auch mit der Maus auf den @name-Parameter in der INSERT-Klausel zeigen, um den zugewiesenen Wert T-SQL Debugger-Test zu sehen.

  11. Wählen Sie im Textfeld den T-SQL-Debugger-Test aus. Geben Sie Änderung bestätigen ein, und drücken Sie die EINGABETASTE, um den Wert der name-Variable beim Debuggen zu ändern. Sie können den zugehörigen Wert auch im Fenster Lokal ändern. Der Wert des Parameters ist rot und gibt eine Änderung an.

  12. Drücken Sie F10 , um den verbleibenden Code zu durchlaufen.

  13. Wenn das Debuggen abgeschlossen ist, fragen Sie die Product Tabelle ab, um deren Inhalt anzuzeigen.

    SELECT *
    FROM [dbo].[Products];
    GO
    
  14. Beachten Sie im Ergebnisfenster, dass in der Tabelle neue Zeilen vorhanden sind.