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

Этот раздел применим для следующих версий:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

yet1b7by.DoesApplybmp(ru-ru,VS.100).gif yet1b7by.DoesApplybmp(ru-ru,VS.100).gif yet1b7by.DoesApplybmp(ru-ru,VS.100).gif yet1b7by.DoesNotApplybmp(ru-ru,VS.100).gif

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

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке, в зависимости от текущих параметров или выпуска.Для изменения параметров выберите пункт Импорт и экспорт параметров в меню Сервис.Дополнительные сведения см. в разделе Visual Studio Settings.

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

  1. Установите в новом проекте SQL Server соединение с образцом базы данных AdventureWorks2008.Дополнительные сведения см. в разделе Как подключиться к базе данных с помощью обозревателя серверов.

  2. Создайте новую хранимую процедуру с помощью кода из первого раздела нижеприведенного примера и назовите эту процедуру HelloWorld.Дополнительные сведения см. в разделе Как выполнить отладку из проекта базы данных или сервера SQL Server.

  3. Задайте точки останова в процедуре HelloWorld и выполните пошаговую отладку хранимой процедуры.Дополнительные сведения см. в разделе Как перейти к объекту базы данных с помощью обозревателя сервера.Указатель инструктора, обозначенный желтой стрелкой появится на строке SET @mynvarchar = @@VERSION, которая является первой выполняемой строкой кода в хранимой процедуре.

  4. Попробуйте выполнить другие функции отладки.

    1. Сделайте окно Локальные переменные видимым.Чтобы сделать это, в меню Отладка наведите указатель на пункт Окна и выберите пункт Локальные переменные.Обратите внимание на то, что параметры и локальные переменные, отображаемые в окне Локальные переменные, имеют соответствующие значения.Значения переменных в окне Локальные переменные можно изменять в процессе работы хранимой процедуры.Дополнительные сведения см. в разделе How to: Use Debugger Variable Windows.

      Примечание. Сервер может не отражать изменения переменных в окнах отладчика.Дополнительные сведения см. в разделе Ограничения по отладке SQL.

    2. Для перехода на следующую строку хранимой процедуры нажмите клавишу F10.Обратите внимание, что значение переменной @mynvarchar изменилось в окне Локальные переменные, и это значение теперь выделено красным цветом, что указывает на то, что значение изменено.

    3. Сделайте видимым окно Контрольные значения.Чтобы сделать это, в меню Отладка щелкните пункт Окна, затем пункт Контрольные значения.Дополнительные сведения см. в разделе How to: Use Debugger Variable Windows.

    4. В текстовом редакторе дважды щелкните переменную @mynvarchar, чтобы выбрать ее.Перетащите @mynvarchar в любое место окна Контрольные значения.Теперь переменная добавлена в список контролируемых переменных.

      Примечание Значения переменных можно изменять и в окне Контрольные значения.

    5. В текстовом редакторе щелкните правой кнопкой строку Return (0) и выберите в контекстном меню пункт Вставить точку останова.

    6. В меню Отладка выберите пункт Продолжить.

  5. Чтобы закончить отладку хранимой процедуры, снова выберите пункт Продолжить.

    Примечание. Можно выполнить пошаговую отладку любой хранимой процедуры в базе данных AdventureWorks2008, которая отображается в связанном с этой процедурой узле Хранимые процедуры.

Пример

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

CREATE PROCEDURE HelloWorld
AS
    DECLARE @mynvarchar NVARCHAR(50),
            @myfloat FLOAT
    SET @mynvarchar  = @@VERSION
    SET @mynvarchar  = 'Hello, world!'
    SET @myfloat     = 1.6180
    PRINT @mynvarchar
    RETURN (0)

См. также

Основные понятия

Отладка Transact-SQL

Другие ресурсы

Server Explorer/Database Explorer