Поделиться через


Отладка хранимых процедур

Отладчик Transact-SQL позволяет интерактивно отлаживать хранимые процедуры, отображая стек вызовов SQL, локальные переменные и параметры хранимой процедуры SQL. Отладчик Transact-SQL поддерживает просмотр и изменение локальных переменных и параметров, просмотр глобальных переменных. Она также предоставляет возможность контролировать и управлять точками останова при отладке скрипта Transact-SQL.

В этом примере показано, как создать и отладить хранимую процедуру Transact-SQL путем пошагового выполнения.

Заметка

Transact-SQL отладка недоступна для Базы данных SQL Azure или Управляемого экземпляра SQL Azure.

Отладка хранимой процедуры

  1. В окне редактора запросов ядра СУБД подключитесь к экземпляру ядра СУБД SQL Server. Выберите базу данных, в которой можно создать пример хранимой процедуры.

  2. Вставьте следующий код в редактор запросов.

    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. Нажмите клавишу F5 , чтобы запустить код Transact-SQL.

  4. В обозревателе объектов сервера SQL щелкните правой кнопкой мыши на той же СУБД и выберите Новый запрос.... Убедитесь, что вы подключены к той же базе данных, в которой создали хранимую процедуру.

  5. Вставьте следующий код в окно запроса.

    EXECUTE [dbo].[AddProduct] 50, N'T-SQL Debugger Test';
    GO
    
  6. Выберите левый край окна, чтобы добавить точку останова в выражение EXEC.

  7. Нажмите стрелку раскрывающегося списка на зеленой кнопке со стрелкой на панели инструментов редактора Transact-SQL и выберите "Выполнить с отладчиком ", чтобы выполнить запрос с отладкой.

  8. Кроме того, можно начать отладку из меню SQL. Выберите SQL>Выполнить с помощью отладчика.

  9. Убедитесь, что открыто окно локальных. В противном случае выберите меню "Отладка ", выберите "Windows " и "Локальный".

  10. Нажмите клавишу F11 , чтобы перейти к запросу. Параметры процедуры хранения и соответствующие значения отображаются в окне "Локальные". Кроме того, наведите указатель мыши на параметр @name в предложении INSERT, чтобы увидеть, какое значение тест отладчика T-SQL присваивается ему.

  11. Выберите в текстовом поле тест отладчика T-SQL . Введите , подтвердите изменение и нажмите клавишу ВВОД, чтобы изменить значение переменной name при отладке. Вы также можете изменить его значение в окне Локальные. Значение параметра имеет красный цвет, указывающий на изменение.

  12. Нажмите F10, чтобы пропустить оставшийся код.

  13. По завершении отладки запросите таблицу Product , чтобы просмотреть ее содержимое.

    SELECT *
    FROM [dbo].[Products];
    GO
    
  14. В окне результатов обратите внимание, что в таблице существуют новые строки.