Подтвердить что ты не робот

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

Есть ли способ войти в код хранимой процедуры в SQL Server Management Studio? Я знаю, что это возможно с помощью Visual Studio, но я ищу надежное решение для отладки из Management Studio

4b9b3361

Ответ 1

Только с SQL 2008 и SSMS 2008. Выберите из меню "Отладка/Начать отладку" или нажмите Alt + F5 и запустите пошаговый отладчик T-SQL.

В 2005 году единственный способ - подключить Profiler и отслеживать событие SP: StmtCompleted, которое поэтапно не отлаживает отладчик, но по крайней мере вы увидите поток выполнения. Очевидно, что это не делается на производственной машине.

Ответ 2

Я написал здесь довольно подробное сообщение в блоге:

http://www.diaryofaninja.com/blog/2010/11/23/debugging-sql-queries-function-amp-stored-procedures-with-sql-management-studio

В основном суть этого заключается в том, что вы вводите свой sql-запрос для выполнения хранимой процедуры, а вместо нажатия F5 или нажатия восклицательного знака нажмите кнопку воспроизведения и используйте F10 и F11 для перехода и перейдите в ваши сохраненные процедуры.

Это очень удобно, но никто не использует его.

Ответ 3

Возможность отладки sprocs, которая была в Query Analyzer в SQL Server 2000, не была помещена в SQL Server 2005. Microsoft реализовала эту ошибку и вернула функциональность в SQL Server 2008.

В SSMS 2008 вы можете запустить отладчик, нажав кнопку отладки на панели инструментов или нажав ALT + F5.

К сожалению, запуск SSMS 2008 против базы данных 2005 года не позволит вам отлаживать, поэтому вам придется придерживаться Visual Studio.

Ответ 4

Следите за отладки хранимых процедур с помощью Visual Studio. Способ, которым это реализовано, - использовать невероятную блокировку, чтобы вы никогда не делали этого в производственной системе.

Ответ 5

Да, в SSMS 2008 вы, безусловно, можете войти в код T-SQL (кодовый блок, сохраненный func, хранимый proc) и отладить его.

Подробнее см. в этой замечательной статье Улучшения Management Studio в SQL Server 2008 - это также касается отладки (в конце статьи).

Ответ 6

Помните, что при отладке удаленных экземпляров с помощью SSMS ваш серверный и клиентский брандмауэр должен будет разрешать sqlservr.exe и ssms.exe соответственно, а также порт tcp 135. Брандмауэр клиента в моем конкретном случае вызывал "истечение времени ожидания" "при попытке отладки.