2009-07-17 2 views
1

ive отлаживает хранимые процедуры sql 2005 в Visual Studio 2005 и находят, что это действительно разочаровывает, что я не могу запускать sql-запрос при выполнении кода.Как эффективно отлаживать хранимые процедуры в визуальной студии

конкретно мои основные вопросы ...

  • если мои SP вставки/обновления временных таблиц, то я могу запросить эти таблицы во время отладки. было бы здорово, если бы я мог использовать непосредственное окно для запуска sql.

  • Если мой SP запущен под транзакцией, я снова не могу запросить любые таблицы, которые он вызывает во время отладки. даже если я переключусь на студию управления sql и запустил запрос на незафиксированные данные.

Единственное, что я могу проверить в отладчике, - это локальные переменные, используемые в SP, которые не являются настолько полезными.

Кто-нибудь знает, как лучше отлаживать? это лучше в VS.net 2008 или 2010?

+0

Retagged to sql 2005, tho 'Полагаю, что это может относиться и к 2008 году. – Adrien

+0

Нет, SQL Server 2008 снова имеет отладчик. – RBarryYoung

ответ

2

Добавить много диагностических инструкций SELECT и PRINT.

Эй, это то, что все мы, программисты, должны были сделать за день до отладчиков. Это не так уж плохо, если вы привыкнете к этому.

Кроме того, это еще одна, очень хорошая причина, чтобы процедуры были небольшими.

Я использовал настоящие отладчики с SQL (другие версии), и правда в том, что хорошо написанные SQL-предложения очень мало от традиционного отладчика в любом случае. Декларативный, Set-based код просто не подходит для этой модели. Теперь плохо -written SQL (процедурный, императивный и т. Д.), Но чем лучше вы разрабатываете процедуру, тем меньше у вас есть для отладчика.

Лучшее решение, IMHO, если вам нужно то, что может сделать для вас отладчик, заключается в использовании SQL Profiler, который имеет то преимущество, что вы можете сказать вам, что процедура фактически делает в производстве, а не только то, что он делает в вас искусственные тесты.

+1

это 2009 год. Мы планируем скоротать летные автомобили, но все еще не можем даже получить достойный отладчик sql с земли. – MakkyNZ

+2

Настоящий профессионал не винит их инструменты. Они учатся делать то, что доступно. – RBarryYoung

1

Here - статья о том, как это сделать с Visual Studio 2005. Havent пробовал это сам, но 4GuysFromRolla предоставили мне хорошую информацию в прошлом.

+0

+1 для ссылки, которую я нашел для отладки Server 2000 в связанной статье. Личный WTF ?! момент пришел к открытию, что, как я хотел его несколько раз и никогда не обнаружил. – Adrien

+0

ive прочитал эту статью раньше. он действительно только говорит о том, как «начать» отладку. не так много о том, какие инструменты вам нужно анализировать, как только вы пройдете через него. только предмет это упоминание есть ... «Когда-то в отладчике мы можем выполнять инструкции хранимой процедуры и просматривать и редактировать значения параметров и переменные через окно« Окно « Я хочу иметь возможность запрашивать не просто просмотр переменных. – MakkyNZ

+0

, и ВЫ УСТАНАВЛИВАЕТСЯ УРОВЕНЬ ИЗОЛЯЦИИ СТАВКИ? – DaveE

0

Лучше пройти через эту Debug proc

Я получил идею от here.Hope это поможет вам тоже. Точно так же для VS 2008

Смежные вопросы