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


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

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

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

Примечание.

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

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

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

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

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

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

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

    EXEC [dbo].[AddProduct] 50, N'T-SQL Debugger Test';  
    GO  
    
  6. Щелкните в левом поле окна, чтобы добавить точку останова в инструкцию EXEC.

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

  8. Кроме того, можно начать отладку из меню SQL . Выберите SQL ->Execute with Отладчик.

  9. Окно Locals (Локальные) должно быть открыто. Если оно не открыто, откройте меню Отладка, выберите пункты Окна и Локально.

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

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

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

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

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