Как включить отладку Transact-SQL

Этот раздел применим для следующих версий:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

s0fk6z6e.DoesApplybmp(ru-ru,VS.100).gif s0fk6z6e.DoesApplybmp(ru-ru,VS.100).gif s0fk6z6e.DoesApplybmp(ru-ru,VS.100).gif s0fk6z6e.DoesNotApplybmp(ru-ru,VS.100).gif

Для отладки 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

  1. Добавьте учетную запись приложения в предопределенную роль сервера SQL Server sysadmin.Учетная запись приложения — это учетная запись Windows, под которой работает среда Visual Studio.Для этого выполните следующую инструкцию Transact-SQL от имени пользователя, являющегося членом группы sysadmin, где Domain\Name является именем пользователя учетной записи Windows: sp_addsrvrolemember 'Domain\Name', 'sysadmin'

  2. Добавьте учетную запись соединения в предопределенную роль сервера 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 работает на другом компьютере)

  1. В список исключений брандмауэра Windows на компьютере, на котором работает среда Visual Studio, необходимо добавить:

    1. программу Visual Studio, Devenv.exe.

    2. TCP-порт 135

  2. В список исключений брандмауэра Windows на компьютере, на котором работает экземпляр SQL Server, необходимо добавить:

    1. программу SQL Server, sqlservr.exe.По умолчанию программа sqlservr.exe устанавливается в папку C:\Program Files\Microsoft SQL Server\MSSQL10.имя_экземпляра\MSSQL\Binn, где имя_экземпляра — это MSSQLSERVER для экземпляра по умолчанию или имя любого именованного экземпляра.

    2. TCP-порт 135

    3. Если согласно политике домена требуется осуществление связи по сети через IPSec, необходимо также открыть порты UDP 4500 и UDP 500.

См. также

Справочник

Ошибки и устранение неполадок при настройке отладки Transact-SQL

Основные понятия

Отладка 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)