Настройка правил брандмауэра перед запуском отладчика Transact-SQL

Применимо к:SQL Server

Необходимо настроить правила брандмауэра Windows так, чтобы разрешить отладку Transact-SQL при подключении к экземпляру ядра СУБД на другом компьютере, кроме того, на котором работает редактор запросов ядра СУБД.

Эта функция работает с SSMS версии 17.9.1 и предшествующими версиями.

Настройка отладчика Transact-SQL

Отладчик Transact-SQL содержит серверные и клиентские компоненты. Компоненты отладчика на стороне сервера устанавливаются с каждым экземпляром ядро СУБД из SQL Server 2005 (9.x) с пакетом обновления 2 (SP2) или более поздними версиями. Клиентские компоненты отладчика устанавливаются в следующих случаях:

  • При установке клиентских средств из SQL Server 2008 (10.0.x) или более поздних версий

  • При установке Microsoft Visual Studio 2010 или более поздних версий

  • При установке SQL Server Data Tools (SSDT) из веб-скачивания

Для запуска отладчика Transact-SQL не нужно ничего специально настраивать, если среда SQL Server Management Studio или SQL Server Data Tools выполняется на том же компьютере, что и экземпляр ядра СУБД SQL Server. Но для запуска отладчика Transact-SQL при подключении к удаленному экземпляру ядра СУБД требуется включить правила для программы и порта в брандмауэре Windows на обоих компьютерах. Эти правила могут быть созданы программой установки SQL Server. Если при попытке открыть сеанс отладки на удаленном компьютере возникают ошибки, убедитесь, что на брандмауэре вашего компьютера определены следующие правила.

Правила можно задать с помощью приложения Брандмауэр Windows в режиме повышенной безопасности . В Windows 7 и Windows Server 2008 R2 откройте панель управления, откройте брандмауэр Windows и выберите дополнительные параметры. В Windows Server 2008 R2 можно также открыть Service Manager, развернуть конфигурацию в левой области и развернуть брандмауэр Windows с расширенной безопасностью.

Внимание

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

Правила брандмауэра на сервере

На компьютере под управлением экземпляра ядро СУБД используйте брандмауэр Windows с расширенной безопасностью, чтобы указать следующие сведения:

  • Добавьте правило входящей программы для sqlservr.exe. Необходимо иметь правила для каждого экземпляра, к которому должны поддерживаться сеансы удаленной отладки.

    1. На левой панели окна Брандмауэр Windows в режиме повышенной безопасностищелкните правой кнопкой мыши раздел Правила для входящих подключенийи выберите на панели действий пункт Создать правило .

    2. В диалоговом окне "Тип правила" выберите "Программа" и нажмите кнопку "Далее".

    3. В диалоговом окне "Программа" выберите этот путь программы и введите полный путь к этому экземпляруsqlservr.exe. По умолчанию устанавливается в C:\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\Binn, где <InstanceName> находится MSSQLSERVER экземпляр по умолчанию sqlservr.exe и имя экземпляра для любого именованного экземпляра.

    4. В диалоговом окне "Действие" нажмите кнопку "Разрешить подключение" и нажмите кнопку "Далее".

    5. В диалоговом окне "Профиль" выберите все профили, описывающие среду подключения к компьютеру, когда требуется открыть сеанс отладки с экземпляром и нажмите кнопку "Далее".

    6. В диалоговом окне "Имя" введите имя и описание этого правила и нажмите кнопку "Готово".

    7. В списке правил для входящих подключений щелкните правой кнопкой мыши созданное правило, а затем выберите "Свойства " в области действий.

    8. Откройте вкладку Протоколы и порты .

    9. Выберите TCP в типе протокола: поле "Динамические порты RPC" в локальном порту: поле "Применить", а затем нажмите кнопку "ОК".

  • Добавьте правило входящего приложения для svchost.exe включения обмена данными DCOM из сеансов удаленного отладчика.

    1. На левой панели окна Брандмауэр Windows в режиме повышенной безопасностищелкните правой кнопкой мыши раздел Правила для входящих подключенийи выберите на панели действий пункт Создать правило .

    2. В диалоговом окне "Тип правила" выберите "Программа" и нажмите кнопку "Далее".

    3. В диалоговом окне "Программа" выберите "Этот путь программы" и введите полный путь.svchost.exe По умолчанию svchost.exe устанавливается в каталог %systemroot%\System32\svchost.exe.

    4. В диалоговом окне "Действие" нажмите кнопку "Разрешить подключение" и нажмите кнопку "Далее".

    5. В диалоговом окне "Профиль" выберите все профили, описывающие среду подключения к компьютеру, когда требуется открыть сеанс отладки с экземпляром и нажмите кнопку "Далее".

    6. В диалоговом окне "Имя" введите имя и описание этого правила и нажмите кнопку "Готово".

    7. В списке правил для входящих подключений щелкните правой кнопкой мыши созданное правило, а затем выберите "Свойства " в области действий.

    8. Откройте вкладку Протоколы и порты .

    9. Выберите TCP в поле "Тип протокола": выберите RPC Endpoint Mapper в локальном порту: поле "Применить", а затем нажмите кнопку "ОК".

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

Правила брандмауэра на клиенте

На компьютере, на котором выполняется ядро СУБД Редактор запросов, программа установки SQL Server или программа установки SQL Server Data Tools может настроить брандмауэр Windows, чтобы разрешить удаленную отладку.

Если возникают ошибки при попытке открытия сеанса удаленной отладки, то вы можете вручную настроить исключения для программ и портов, настроив правила брандмауэра в окне Брандмауэр Windows в режиме повышенной безопасности .

  • Добавление записи для программы svchost

    1. На левой панели окна Брандмауэр Windows в режиме повышенной безопасностищелкните правой кнопкой мыши раздел Правила для входящих подключенийи выберите на панели действий пункт Создать правило .

    2. В диалоговом окне "Тип правила" выберите "Программа" и нажмите кнопку "Далее".

    3. В диалоговом окне "Программа" выберите "Этот путь программы" и введите полный путь.svchost.exe По умолчанию svchost.exe устанавливается в каталог %systemroot%\System32\svchost.exe.

    4. В диалоговом окне "Действие" нажмите кнопку "Разрешить подключение" и нажмите кнопку "Далее".

    5. В диалоговом окне "Профиль" выберите все профили, описывающие среду подключения к компьютеру, когда требуется открыть сеанс отладки с экземпляром и нажмите кнопку "Далее".

    6. В диалоговом окне "Имя" введите имя и описание этого правила и нажмите кнопку "Готово".

    7. В списке правил для входящих подключений щелкните правой кнопкой мыши созданное правило, а затем выберите "Свойства " в области действий.

    8. Откройте вкладку Протоколы и порты .

    9. Выберите TCP в поле "Тип протокола": выберите RPC Endpoint Mapper в локальном порту: поле "Применить", а затем нажмите кнопку "ОК".

  • Добавьте запись программы для приложения, на котором размещена ядро СУБД Редактор запросов. Если необходимо открыть сеансы удаленной отладки из SQL Server Management Studio и SQL Server Data Tools на одном компьютере, необходимо добавить правило программы для обоих:

    1. На левой панели окна Брандмауэр Windows в режиме повышенной безопасностищелкните правой кнопкой мыши раздел Правила для входящих подключенийи выберите на панели действий пункт Создать правило .

    2. В диалоговом окне "Тип правила" выберите "Программа" и нажмите кнопку "Далее".

    3. В диалоговом окне Программа щелкните Путь к этой программе и введите одно из следующих трех значений.

      • Для среды SQL Server Management Studio введите полный путь к программе ssms.exe. По умолчанию ssms.exe устанавливается в C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\Management Studio.

      • Для SQL Server Data Tools введите полный путь к devenv.exe:

        1. По умолчанию devenv.exe visual Studio 2010 находится в C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE.

        2. По умолчанию devenv.exe visual Studio 2012 находится в C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE.

        3. Путь к ssms.exe вы можете получить из ярлыка, который используется для запуска среды SQL Server Management Studio. Путь к devenv.exe ярлыку, который вы используете для запуска SQL Server Data Tools. Щелкните правой кнопкой мыши ярлык и выберите пункт "Свойства". Исполняемый файл и пути указаны в поле Цель .

    4. В диалоговом окне "Действие" нажмите кнопку "Разрешить подключение" и нажмите кнопку "Далее".

    5. В диалоговом окне "Профиль" выберите все профили, описывающие среду подключения к компьютеру, когда требуется открыть сеанс отладки с экземпляром и нажмите кнопку "Далее".

    6. В диалоговом окне "Имя" введите имя и описание этого правила и нажмите кнопку "Готово".

    7. В списке правил для входящих подключений щелкните правой кнопкой мыши созданное правило, а затем выберите "Свойства " в области действий.

    8. Откройте вкладку Протоколы и порты .

    9. Выберите TCP в типе протокола: поле "Динамические порты RPC" в локальном порту: поле "Применить", а затем нажмите кнопку "ОК".

Требования к запуску отладчика

Все попытки запустить отладчик Transact-SQL должны также отвечать следующим требованиям.

  • SQL Server Management Studio или SQL Server Data Tools должны работать под учетной записью Windows, являющейся членом предопределенных ролей сервера sysadmin .

  • Окно ядро СУБД Редактор запросов должно быть подключено с помощью имени входа проверки подлинности Windows или проверки подлинности SQL Server, являющегося членом предопределенных ролей сервера sysadmin.

  • Окно ядро СУБД Редактор запросов должно быть подключено к экземпляру ядро СУБД из SQL Server 2005 (9.x) с пакетом обновления 2 (SP2) или более поздними версиями. Не удается запустить отладчик, если окно Редактор запросов подключено к экземпляру, который находится в однопользовательском режиме.

  • Сервер должен обмениваться данными с клиентом через RPC. Учетная запись, в которой запущена служба SQL Server, должна иметь разрешения, прошедшие проверку подлинности для клиента.

Следующие шаги