Невозможно отладить хранимые процедуры SQL Server 2005 в Visual Studio Team System 2008 - PullRequest
5 голосов
/ 06 марта 2009

Я пытался отлаживать хранимые процедуры SQL Server 2005 в Visual Studio Team System 2008.

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

alt text
(источник: googlepages.com )

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

alt text
(источник: googlepages.com )

Я проверил средство просмотра событий, и в нем нет журналов. Там нет вывода или сообщений, показывающих, где проблема.

Visual studio содержит следующие компоненты: -

alt text
(источник: googlepages.com )

На многих форумах упоминаются проблемы отладки, но простого решения не найдено.

Я что-то упустил? Или кто-нибудь знает более лаконичный сайт, который проходит успешную отладку хранимых процедур?

Ответы [ 6 ]

2 голосов
/ 07 марта 2009

Помните, что вы также должны иметь права администратора на сервере sql box, на котором вы отлаживаете. В прошлом мне приходилось использовать опцию RunAs в контекстном меню проводника, чтобы запустить Visual Studio. Я использую те же учетные данные, что и пользователь-администратор на сервере sql box.

2 голосов
/ 07 марта 2009

Проверьте это, особенно часть удаленной отладки: http://www.dbazine.com/sql/sql-articles/cook1

Для прочей общей информации об отладке, проверка sql http://msdn.microsoft.com/en-us/library/zefbf0t6.aspx

1 голос
/ 19 августа 2009

Одна проблема, которую необходимо исследовать, заключается в том, что любая учетная запись пользователя SQL Server, участвующая в отладке SQL, должна иметь права «выполнять» в расширенной хранимой процедуре, называемой sp_sdidebug, право, которое по умолчанию имеет только учетная запись системного администратора (sa).

Чтобы проверить это, используйте учетную запись для входа в SQL Server, а затем введите следующий SQL команда с использованием SQL Server Management Studio:

EXEC master..sp_sdidebug

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

Самый быстрый способ предоставить права на выполнение учетной записи SQL Server для sp_sdidebug - ввести следующий SQL:

GRANT EXECUTE ON master..sp_sdidebug TO SpecificAccountName

Есть еще одна проблема, но она не повлияет на вас, когда вы используете обозреватель серверов. Если вы выполняете отладку из клиентского приложения, вам также необходимо выполнить следующую команду:

EXEC master..sp_sdidebug 'legacy_on'

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

1 голос
/ 06 марта 2009

Включили ли вы отладку SQL Server в проекте?

Проект | Свойства | Вкладка «Отладка».

РЕДАКТИРОВАТЬ: Может также включить «Разрешить отладку SQL / CLR» для подключения к данным в проводнике сервера.

0 голосов
/ 25 апреля 2013

это брандмауэр Windows. отключите его и попробуйте это будет работать

0 голосов
/ 23 мая 2009

Вы пробовали отладку локально на сервере через Citrix или RDP?

Надеюсь, это поможет,

Bill

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