Как включить отладку Transact-SQL
Этот раздел применим для следующих версий:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Для отладки Transact-SQL в среде Visual Studio требуется сервер базы данных SQL Server, начиная с версии SQL Server 2005, а также предоставление соответствующих прав доступа .Если соответствующий экземпляр SQL Server работает на другом компьютере, необходимо будет также настроить брандмауэр Windows на обоих компьютерах.
Примечание. Отладка Transact-SQL на SQL Server 2000 и более ранних версиях не поддерживается.
С помощью среды Visual Studio также можно выполнять отладку кода SQL CLR (объекты баз данных, в которых используется управляемый код).Для отладки SQL CLR на удаленном сервере базы данных на компьютер с SQL Server необходимо установить монитор удаленной отладки.Дополнительные сведения см. в разделах How to: Set Up Remote Debugging и Debugging Database Objects That Use Managed Code (SQL CLR Debugging).
Дополнительные сведения об отладке Transact-SQL с помощью среды SQL Server Management Studio см. в разделе Использование отладчика Transact-SQL.
Подготовка разрешений SQL Server на экземпляре SQL Server
Добавьте учетную запись приложения в предопределенную роль сервера SQL Server sysadmin.Учетная запись приложения — это учетная запись Windows, под которой работает среда Visual Studio.Для этого выполните следующую инструкцию Transact-SQL от имени пользователя, являющегося членом группы sysadmin, где Domain\Name является именем пользователя учетной записи Windows: sp_addsrvrolemember 'Domain\Name', 'sysadmin'
Добавьте учетную запись соединения в предопределенную роль сервера SQL Server sysadmin.Учетная запись соединения является именем пользователя Windows или SQL Server, которое код Transact-SQL использует для подключения к экземпляру SQL Server.Для этого выполните следующую инструкцию Transact-SQL от имени пользователя, являющегося членом группы sysadmin, где Domain\Name является соответствующей учетной записью: sp_addsrvrolemember 'Domain\Name', 'sysadmin'
Примечание
Исходя из следующих соображений, рекомендуется отлаживать код Transact-SQL на тестовом, а не на рабочем сервере: отладка является операцией с высокими привилегиями.Поэтому проводить отладку в SQL Server разрешается только членам предопределенной роли сервера sysadmin.Часто сеансы отладки продолжаются длительное время, когда исследуется действие нескольких инструкций Transact-SQL.Блокировки, например блокировки обновлений, полученные сеансом, могут сохраняться продолжительное время до окончания сеанса либо до фиксации или отката транзакции.
Подготовка брандмауэра Windows для удаленной отладки (когда SQL Server работает на другом компьютере)
В список исключений брандмауэра Windows на компьютере, на котором работает среда Visual Studio, необходимо добавить:
программу Visual Studio, Devenv.exe.
TCP-порт 135
В список исключений брандмауэра Windows на компьютере, на котором работает экземпляр SQL Server, необходимо добавить:
программу SQL Server, sqlservr.exe.По умолчанию программа sqlservr.exe устанавливается в папку C:\Program Files\Microsoft SQL Server\MSSQL10.имя_экземпляра\MSSQL\Binn, где имя_экземпляра — это MSSQLSERVER для экземпляра по умолчанию или имя любого именованного экземпляра.
TCP-порт 135
Если согласно политике домена требуется осуществление связи по сети через IPSec, необходимо также открыть порты UDP 4500 и UDP 500.
См. также
Справочник
Ошибки и устранение неполадок при настройке отладки Transact-SQL
Основные понятия
Другие ресурсы
Настройка отладки Transact-SQL
Debug Settings and Preparation
Enabling SQL Debugging on SQL 2000 Desktop Engines
How to: Set Up Remote Debugging
Debugging Database Objects That Use Managed Code (SQL CLR Debugging)