Udostępnij za pośrednictwem


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.

Aby debugować procedury składowane

  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].[Product] ([Id] INT, [Name] NVARCHAR(128))
    
    CREATE PROCEDURE [dbo].[AddProduct]  
    @id INT,  
    @name NVARCHAR(128)  
    AS  
    BEGIN
        INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) 
        SELECT [Name] FROM [dbo].[Product] WHERE [Id] = @id
        DECLARE @nextid INT
        SET @nextid = @id + 1
        INSERT INTO [dbo].[Product] ([Id], [Name]) VALUES (@id, @name) 
        SELECT [Name] FROM [dbo].[Product] 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 na tej samej instancji serwera 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.

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

  7. Naciśnij ikonę listy rozwijanej obok zielonego przycisku strzałki na pasku narzędzi edytora Transact-SQL i wybierz opcję Uruchom z debugerem, aby uruchomić zapytanie z włączonym debugowaniem.

  8. Alternatywnie możesz rozpocząć debugowanie z menu SQL. Wybierz pozycję SQL —>uruchom z debugerem.

  9. Upewnij się, że okno lokalne jest otwarte. W przeciwnym razie kliknij menu Debug, wybierz pozycję Windows i Local.

  10. Naciśnij F11, aby przejść do zapytania. Zwróć uwagę, że parametry procedury przechowywania i ich odpowiednie wartości pojawiają się w oknie Locals. 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. Zwróć uwagę, że 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.