Как сделать SQL Server 2k8 с отладкой VS2010 CLR - PullRequest
3 голосов
/ 09 декабря 2010

Вырвав мои волосы в отчаянии, теперь после нескольких часов борьбы и поиска в Google.Я пытаюсь отладить простой метод CLR.Установка: Visual Studio 2010, SQL Server 2008 R2 Express, Vista Business SP2.Я пользователь домена, но локальный администратор на компьютере и системный администратор на локальном экземпляре SQL Server.Я создал новый проект базы данных VS, указал его на мою строку соединения с БД (ранее использовал эту БД), затем он спросил меня, хочу ли я включить отладку для соединения, на что я ответил да.

Я подтвердилчто проект развертывается нормально (можно увидеть, как сборка и ее процедура отображаются в SQL Server Management Studio), и что я могу назвать это просто отлично в SSMS.Затем я добавил тот же самый код EXEC в сценарий Test.sql в моем проекте базы данных и отметил его как сценарий отладки по умолчанию.Затем я устанавливаю точку останова как в Test.sql, так и в коде CLR.

Но когда я нажимаю F5, все, что я получаю, это следующий вывод:

Canceled by user.
Auto-attach to process '[2144] sqlservr.exe' on machine 'DAWID-PC' succeeded.
The thread 'dawid-pc\sqlexpress [54]' (0x13c4) has exited with code 0 (0x0).
The thread 'dawid-pc\sqlexpress [54]' (0x13c4) has exited with code 0 (0x0).
The thread 'dawid-pc\sqlexpress [56]' (0x109c) has exited with code 0 (0x0).
The thread 'dawid-pc\sqlexpress [56]' (0x109c) has exited with code 0 (0x0).
The program '[2144] sqlservr.exe: dawid-pc\sqlexpress' has exited with code 0 (0x0).

И мой сеанс отладки заканчивается тут же.

У меня c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe работает;Я вижу сообщение о том, что MyDomain\MyUsername connected. появляется каждый раз, когда я нажимаю клавишу F5 в Visual Studio.На моем компьютере не работает брандмауэр, и на нем не установлено антивирусное программное обеспечение.

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

Ответы [ 4 ]

0 голосов
/ 09 ноября 2013

Установите точки останова в источнике .., Построение и развертывание (проекты Sql-сервера будут создаваться и развертываться при запуске, но не будут достигать установленных вами точек останова !.) В обозревателе серверов убедитесь, что вы включили Отладку приложений и Разрешить отладку SQL / CLR.

В обозревателе сервера перейдите к хранимой процедуре / функции clr, которую вы хотите отладить, Щелкните правой кнопкой мыши и перейдите к шагу (Alt + F5). После «Подключить предупреждение безопасности» вы увидите, что сборки загружаются в окно вывода, после чего будет достигнута точка останова, и вы сможете продолжить обычные задачи отладки.

0 голосов
/ 19 июля 2011

Недавно я столкнулся с этой ошибкой, используя VS2010 и SQL 2008 R2 (оба установлены локально).Я выключил свой брандмауэр и т. Д. И все еще не повезло.В конце концов я наткнулся на то, что выглядело как проблема с памятью SQL Server.В файлах журнала SQL было много выгруженных сообщений AppDomain X.В любом случае, это привело меня сюда: http://www.johnsansom.com/sql-server-memory-configuration-determining-memtoleave-settings/#axzz1SZM5nqyF

и после изменения моего параметра запуска -g SQL Server на -g384, эй, до того, как отладка сработала !!

Я не SQLАдминистратор базы данных, так что, возможно, кто-то может подключиться и добавить к этому, если у них есть какие-либо знания о настройках MemToLeave.

Ciaran

0 голосов
/ 28 января 2013
  1. в обозревателе сервера удалить Разрешить отладку SQL Server, но установить отладку приложения
  2. Запустить отладку, и VS запросит установить Разрешить отладку SQL Server.

Затем будетработа.

Аббас Шоджаи

0 голосов
/ 15 июля 2011

У меня была такая же проблема. Кажется, это проблема с вашим проектом, настроенным для .NET 3 / 3.5. Как только я изменил свою платформу на .NET 2.0, я смог достичь своих точек останова. Я не могу дождаться интеграции .NET 4 в типах CLR SQL Server.

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