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

Как отлаживать SQL Server T-SQL в Visual Studio 2012

Как отлаживать хранимую процедуру T-SQL в многоуровневом приложении в Visual Studio 2012?

Чтобы быть ясным, я хочу установить точку останова в sproc в VS 2012 и нажать ее, когда sproc вызывается из приложения ASP.NET WebForms в том же сеансе отладки.

При выполнении тех же шагов, что и для VS 2010, точки останова не попадают внутрь sproc.

Отладка T-SQL в sproc на базе SQL Server 2008 R2 Express работает как ожидается в Visual Studio 2010.

Чтобы убедиться, что все включено должным образом, я просмотрел инструкции для VS 2010 (здесь), но такая страница не существует для VS 2012 или .NET 4.5.

Кажется, что недостающим шагом является включение "Отладки приложений", но такой параметр не существует в окне "Проводник сервера" > "Связи данных" в VS 2012.

Отладка приложений VS 2010

enter image description here

VS 2012 Нет отладки приложений

enter image description here

4b9b3361

Ответ 1

Вам нужно открыть "Обозреватель объектов SQL Server", а не "Server Explorer". Это то, что отличается от 2010 до 2012 года. Затем щелкните правой кнопкой мыши на сервере и выберите "Отладка приложений".

Ответ 2

Я считаю, что самый простой способ сделать это - добавить DB в качестве проекта к вашему решению. Вы можете сделать это, щелкнув правой кнопкой мыши на БД в Проводнике объектов SQL Server (SSOX). Это действительно хороший способ разработки и отладки ваших БД. После того, как вы добавили БД в свой проект, вы можете добавить точки останова в любом месте и отладить от LocalDB (или, если хотите, другую цель). Самый большой недостаток этого подхода заключается в том, что ваши существующие данные не будут мигрировать вместе с вами (хотя вы сможете легко публиковать любые изменения обратно в SQL DB по своему усмотрению). Дополнительную информацию см. В документации на SSDT в MSDN.

Ответ 3

Это для VS2012 и SQL2012. Да, некоторые вещи несколько отличаются для других версий, но вроде бы следуют аналогичной настройке. Это сложно, потому что нужно иметь различные настройки в порядке или не работать.

  • Ванильная установка как VS, так и SQL со всеми правильными параметрами (как это сделать не входит в эту статью)

  • Полные права администратора на всю среду и права sysadmin на sql (в основном среда разработки, вы не захотите делать это в производственной среде)

  • Я всегда отлаживаю веб-приложения .net под полным локальным IIS, который является функцией Windows, установленной с панели управления

    • go.net свойства проекта, веб, использование локального веб-сервера iis (я также придерживаюсь порта по умолчанию 80)
  • в то время как я разрабатываю свои базы данных и т.д., используя проект базы данных VS sql server, я всегда работаю под полным автономным локальным SQL; я использую схему сравнить, чтобы обновить этот sql с изменениями, внесенными в VS (как это сделать, выходит за рамки этой статьи)

    • не помещайте точку останова на эту копию sp; эта версия sp является только планом, а не версией времени выполнения.
  • go.net свойства проекта, веб, отладчики (внизу) включены для .net и sql server

  • просмотр обозревателя объектов sql-сервера (не проводника сервера)

    • нажмите добавить sql-сервер, добавьте полный локальный SQL-сервер, используя учетные данные sysadmin (я всегда использую sa для такой работы)
    • щелкните правой кнопкой мыши на вашем полном локальном сервере sql и включите отладку приложения.
    • там найдите sp и щелкните правой кнопкой мыши и просмотрите код, затем добавьте точку останова; это версия времени выполнения sp (обратите внимание, что я никогда не вношу изменений в sp, я делаю это в моей главной копии в проекте базы данных)
  • перестроить решение и выполнить веб-приложение .net в режиме отладки из ide, нажав зеленую стрелку Internet Explorer

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

Все это может показаться сложным. Это. Но с небольшой дисциплиной и терпением это бесценно. Удачи.