Udostępnij przez


Debugowanie procedur składowanych

Debuger Transact-SQL umożliwia interaktywne debugowanie procedur składowanych przez wyświetlenie stosu wywołań SQL, zmiennych lokalnych i parametrów procedury składowanej SQL. Debuger Transact-SQL obsługuje wyświetlanie i modyfikowanie zmiennych lokalnych i parametrów, wyświetlanie zmiennych globalnych. Zapewnia również możliwość kontrolowania punktów przerwania i zarządzania nimi podczas debugowania skryptu Transact-SQL.

Ten przykład pokazuje, jak utworzyć i debugować procedurę składowaną Transact-SQL poprzez krokowe wchodzenie do jej kodu.

Notatka

Transact-SQL debugowanie nie jest dostępne dla usługi Azure SQL Database ani Azure SQL Managed Instance.

Debugowanie procedury składowanej

  1. W oknie Edytor zapytań silnika bazy danych, połącz się z wystąpieniem silnika bazy danych SQL Server. Wybierz bazę danych, w której można utworzyć przykładową procedurę składowaną.

  2. Wklej następujący kod w Edytorze zapytań.

    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. Naciśnij F5 , aby uruchomić kod Transact-SQL.

  4. W Eksploratorze obiektów programu SQL Server kliknij prawym przyciskiem myszy ten sam aparat bazy danych i wybierz pozycję Nowe zapytanie.... Upewnij się, że masz połączenie z tą samą bazą danych, w której utworzono procedurę składowaną.

  5. Wklej następujący kod do okna zapytania.

    EXECUTE [dbo].[AddProduct] 50, N'T-SQL Debugger Test';
    GO
    
  6. Wybierz lewy margines okna, aby dodać punkt przerwania do instrukcji EXEC .

  7. Naciśnij strzałkę listy rozwijanej na zielonym przycisku strzałki na pasku narzędzi edytora Transact-SQL, a następnie wybierz pozycję Wykonaj przy użyciu debugera , aby wykonać zapytanie z debugowaniem.

  8. Alternatywnie możesz rozpocząć debugowanie z menu SQL. Wybierz SQL>Wykonaj z debugerem.

  9. Upewnij się, że okno lokalne jest otwarte. Jeśli nie, wybierz menu Debuguj , wybierz pozycję Windows i Local.

  10. Naciśnij F11 , aby przejść do zapytania. Parametry procedury przechowywania i ich odpowiednie wartości są widoczne w oknie Lokalne. Możesz też umieścić wskaźnik myszy nad parametrem @name w klauzuli INSERT, aby zobaczyć przypisaną do niego wartość testu debugera T-SQL .

  11. Wybierz test debugera języka T-SQL w polu tekstowym. Wpisz Sprawdź poprawność zmiany i naciśnij ENTER, aby zmienić wartość zmiennej name podczas debugowania. Można również zmienić jego wartość w oknie Locals. Wartość parametru jest czerwona, wskazująca zmianę.

  12. Naciśnij F10 , aby przejść przez pozostały kod.

  13. Po zakończeniu debugowania wykonaj zapytanie względem tabeli Product, aby wyświetlić jej zawartość.

    SELECT *
    FROM [dbo].[Products];
    GO
    
  14. W oknie wyników zwróć uwagę, że w tabeli istnieją nowe wiersze.