SQL Server "Denali": Отладчик

        Здравствуйте, друзья! Давненько не писал в свой блог, и это было тяжело :) Первый CTP SQL Server 2011 (кодовое имя "Denali") вышел уже месяц назад, а у меня всё никак небыло времени рассказать о нём. В этом и в следующих постах этой серии я планирую рассказать о тех возможностях которые появились в SQL Server "Denali" CTP1 и будут появляться в следущих CTP.  И первый в очереди на описание – отладчик T-SQL кода.

        Возможность отладки кода появилась ещё в SQL Server 2008, в 2008 R2 здесь ничего не поменялось, а вот в "Denali" да! Точки останова стали больше похожи на их аналоги в Visual Studio. Появилась возможность задавать условие срабатывания, фильтр, количество попаданий и много другое. В сравнении со старым вариантом это выглядит примерно так:

SQL Server "Denali" breakpoint

SQL Server 2008 (2008 R2) breakpoint

 

 

Почитать о том как это использовать можно в цикле статей How to: How to: Specify a Breakpoint Condition, How to: Specify a Hit CountHow to: Specify a Breakpoint Filter, How to: Specify a Breakpoint Action, How to: Edit a Breakpoint Location.

 

        Но что меня больше всего порадовало так это частичная поддержка T-SQL выражений в окошке Quick Watch. В SQL Server 2008 и 2008 R2 в них можно было просматривать только значение переменных. В SQL Server "Denali" всё намного лучше. Теперь мы можем просматривать результат T-SQL запроса в том случае, если он заведомо возвращает скалярное значение.  Например результат выполнения вот такого запроса мы легко можем просмотреть, используя Quick Watch, или добавить на панель Watch:

SELECT TOP(1) Point FROM [dbo].[Actions]
 
SQL Server Denali - Quick Watch

К сожалению просмотра набора значений пока нет, как нет и просмотра выборки по нескольким полям. На эту тему есть ряд предложений на Microsoft Connect и я надеюсь что их примут во внимание и к релизу что-то из этого уже будет готово:

        Умный Intellisense не даст теперь поставить точку останова там, где этого нельзя сделать. Раньше это выглядело намного веселее :) Сам только заметил, но можно было расставить брэйкпоинты так:

SQL Server 2008 - breakpoints

 

        И напоследок хочу напомнить, что отладчик является фичей именно Management Studio, поэтому с новой SSMS вы можете отлаживать код и на инстансах более старых версий SQL Server (начиная с SQL Server 2005 Service Pack 2).

 

Ссылки по теме:

blog comments powered by Disqus

Обо мне

MVP

Data Architect at Intapp, Inc.

PASS Regional Mentor, CEE

MCT, MCITP, MCPD, MCTS


Microsoft MVP

Month List