Настройка и запуск отладчика Transact-SQL

Запустить отладчик Transact-SQL можно после открытия окна редактора запросов компонента Database Engine. После этого можно начать выполнение кода Transact-SQL в режиме отладки до остановки отладчика. Параметры работы отладчика можно настроить под собственные потребности.

Настройка отладчика Transact-SQL

Отладчик Transact-SQL имеет как серверные, так и клиентские компоненты. Серверные компоненты отладчика устанавливаются с каждым экземпляром SQL Server 2008Database Engine. Клиентские компоненты устанавливаются при установке клиентских средств SQL Server 2008.

Если среда SQL Server Management Studio установлена на одном компьютере с экземпляром SQL Server Database Engine, для запуска отладчика Transact-SQL нет никаких специальных требований к конфигурации. Однако, чтобы запустить отладчик Transact-SQL, когда среда SQL Server Management Studio и экземпляр компонента Database Engine установлены на разных компьютерах, необходимо создать исключения для программ и портов при помощи панели управления брандмауэра Windows на обоих компьютерах.

На компьютере, где установлен экземпляр компонента Database Engine, в брандмауэре Windows выполните следующие действия.

  • Добавьте порт 135 протокола TCP в список исключений.

  • Добавьте программу sqlservr.exe в список исключений. По умолчанию программа sqlservr.exe устанавливается в папку «C:\Program Files\Microsoft SQL Server\MSSQL10.имя_экземпляра\MSSQL\Binn», где имя_экземпляра — это MSSQLSERVER для экземпляра по умолчанию или имя любого именованного экземпляра.

  • Если согласно политике домена требуется, чтобы сетевые соединения осуществлялись через протокол IPsec, то в список исключений также необходимо добавить порты 4500 и 500 протокола UDP.

На компьютере, где установлена среда SQL Server Management Studio, в брандмауэре Windows выполните следующие действия.

  • Добавьте порт 135 протокола TCP в список исключений.

  • Добавьте программу ssms.exe (среда SQL Server Management Studio) в список исключений. По умолчанию программа ssms.exe устанавливается в папку «C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE».

Запуск и остановка отладчика

Для запуска отладчика Transact-SQL необходимо соблюдение следующих требований.

  • Среда SQL Server Management Studio должна работать под учетной записью Windows, которая является членом предопределенной роли сервера sysadmin.

  • Окно редактора запросов компонента Database Engine должно быть подключено с помощью имени входа для проверки подлинности Windows или SQL Server, которое является членом предопределенной роли сервера sysadmin.

  • Окно редактора запросов компонента Database Engine должно быть подключено к экземпляру SQL Server 2008Database Engine. Когда окно редактора запросов подключено к экземпляру, работающему в однопользовательском режиме, отладчик запустить невозможно.

Исходя из следующих соображений, рекомендуется отлаживать код Transact-SQL на тестовом, а не на рабочем сервере.

  • Отладка — это операция с высокими привилегиями. Поэтому проводить отладку в SQL Server разрешается только членам предопределенной роли сервера sysadmin.

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

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

Окно редактора запросов остается в режиме отладки до завершения выполнения последней инструкции в окне редактора запросов либо до выхода из режима отладки. Остановить выполнение инструкций и выйти из режима отладки можно одним из следующих способов.

  • В меню Отладка выберите команду Остановить отладку.

  • На панели инструментов Отладка нажмите кнопку Остановить отладку.

  • В меню Запрос выберите команду Отменить выполнение запроса.

  • На панели инструментов Запрос нажмите кнопку Отменить выполнение запроса.

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

Управление отладчиком

Управлять работой отладчика Transact-SQL можно при помощи следующих команд меню, панелей инструментов и сочетаний клавиш.

  • Меню Отладка и панель инструментов Отладка. И меню Отладка и панель инструментов Отладка остаются неактивными, пока фокус не будет переведен на открытое окно редактора запросов. Они остаются активными до закрытия текущего проекта.

  • Сочетания клавиш отладчика.

  • Контекстное меню редактора запросов Контекстное меню открывается при щелчке правой клавишей мыши строки в окне редактора запросов. Когда окно редактора запросов находится в режиме отладки, в контекстном меню отображаются команды отладчика, которые применяются к выделенной строке.

  • Пункты меню и контекстные команды в окнах, которые открываются отладчиком, например окно Просмотр значения или Точки останова.

В следующей таблице приведены команды меню отладчика, кнопки панелей инструментов и сочетания клавиш.

Команда меню «Отладка»

Команда контекстного меню редактора

Кнопка на панели инструментов

Сочетание клавиш

Действие

Окна/Точки останова

Недоступно

Точки останова

CTRL+ALT+B

Отображает окно Точки останова, в котором можно просматривать и управлять точками останова.

Окна/Просмотр значений/Просмотр значений1

Недоступно

Точки останова/Просмотр значений/Просмотр значений1

CTRL+ALT+W, 1

Отображает окно Просмотр значений1.

Окна/Просмотр значений/Просмотр значений2

Недоступно

Точки останова/Просмотр значений/Просмотр значений2

CTRL+ALT+W, 2

Отображает окно Просмотр значений2.

Окна/Просмотр значений/Просмотр значений3

Недоступно

Точки останова/Просмотр значений/Просмотр значений3

CTRL+ALT+W, 3

Отображает окно Просмотр значений3.

Окна/Просмотр значений/Просмотр значений4

Недоступно

Точки останова/Просмотр значений/Просмотр значений4

CTRL+ALT+W, 4

Отображает окно Просмотр значений4.

Окна/Локальные значения

Недоступно

Точки останова/Локальные значения

CTRL+ALT+V, L

Отображает окно Локальные значения.

Окна/Стек вызовов

Недоступно

Точки останова/Стек вызовов

CTRL+ALT+C

Отображает окно Стек вызовов.

Окна/Потоки

Недоступно

Точки останова/Потоки

CTRL+ALT+H

Отображает окно Потоки.

Продолжить

Недоступно

Продолжить

ALT+F5

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

Начать отладку

Недоступно

Начать отладку

ALT+F5

Перевод окна редактора запросов в режим отладки и выполнение кода до первой точки останова. Если окно редактора запросов, находящегося в режиме отладки, в фокусе, кнопка Начать отладку заменяется на кнопку Продолжить.

Приостановить все

Недоступно

Приостановить все

CTRL+ALT+BREAK

Эта функция не используется отладчиком Transact-SQL.

Остановить отладку

Недоступно

Остановить отладку

SHIFT + F5

Выводит окно редактора запросов из режима отладки и возвращает его в обычный режим.

Отсоединить все

Недоступно

Недоступно

Недоступно

Выход из режима отладки, но продолжение выполнения оставшихся инструкций в окне редактора запросов.

Шаг с заходом

Недоступно

Шаг с заходом

F11

Выполнение следующей инструкции, а также открытие нового окна редактора запросов в режиме отладки, если следующая инструкция запускает хранимую процедуру, триггер или функцию.

Шаг с обходом

Недоступно

Шаг с обходом

F10

То же, что и Шаг с заходом, только при использовании этой команды функции, хранимые процедуры или триггеры не отлаживаются.

Шаг с выходом

Недоступно

Шаг с выходом

SHIFT+F11

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

Недоступно

Выполнить до курсора

Недоступно

CTRL + F10

Выполнение всего кода от последнего места остановки до текущего места расположения курсора без остановки в точках останова.

Быстрая проверка

Быстрая проверка

Недоступно

CTRL+ALT+Q

Отображает окно Быстрая проверка.

Переключить точку останова

Точка останова/Вставить точку останова

Недоступно

F9

Размещает точку останова на текущей или выделенной инструкции Transact-SQL.

Недоступно

Точка останова/Удалить точку останова

Недоступно

Недоступно

Удаляет точку останова из выделенной строки.

Недоступно

Точка останова/Отключить точку останова

Недоступно

Недоступно

Отключает точку останова в выделенной строке. Точка останова остается в строке кода, но до ее повторного включения она не будет останавливать выполнение кода.

Недоступно

Точка останова/Включить точку останова

Недоступно

Недоступно

Включает точку останова в выделенной строке.

Удалить все точки останова

Недоступно

Недоступно

CTRL+SHIFT+F9

Удаляет все точки останова.

Отключить все точки останова

Недоступно

Недоступно

Недоступно

Отключает все точки останова.

Недоступно

Добавить контрольное значение

Недоступно

Недоступно

Добавление выделенного выражения в окно Контрольные значения.