Как настроить компонент Database Engine на прослушивание нескольких портов TCP

Если протокол TCP/IP включен для SQL Server, компонент Database Engine прослушивает входящие соединения в точке соединения, имеющей IP-адрес и номер порта TCP. Следующие процедуры создают конечную точку потока табличных данных (TDS) с тем, чтобы SQL Server прослушивал дополнительный порт TCP.

Ниже перечислены возможные причины создания второй конечной точки TDS.

  • Усиление безопасности путем настройки брандмауэра для предоставления доступа к конечной точке по умолчанию только локальным клиентским компьютерам в определенной подсети. Обеспечьте доступ к SQL Server из Интернета для команды поддержки путем создания новой конечной точки, которую брандмауэр делает видимой из Интернета, и предоставьте права на соединение с этой конечной точкой только команде поддержки сервера.

  • Установка соответствия соединений определенным процессорам при использовании технологии доступа к неоднородной памяти (NUMA). Дополнительные сведения о настройке порта TCP/IP на узел NUMA см. в разделе Как SQL Server поддерживает архитектуру NUMA.

ПримечаниеПримечание

При создании новой конечной точки Transact-SQL разрешения на соединение с конечной точкой TDS по умолчанию для группы public отменяются. Если группе public требуется доступ к конечной точке по умолчанию, предоставьте ей это разрешение при помощи инструкции GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] to [public].

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

  • Создайте конечную точку TDS для порта TCP и восстановите доступ к конечной точке по умолчанию, если необходимо.

  • Предоставьте необходимым участникам на уровне сервера доступ к конечной точке.

  • Укажите номер порта TCP для выбранного IP-адреса.

Дополнительные сведения о параметрах брандмауэра Windows и описание TCP-портов, влияющих на компонент Database Engine, службы Analysis Services, Reporting Services и Integration Services см. в разделе Настройка Брандмауэра Windows для разрешения доступа к SQL Server.

Создание конечной точки TDS

  • Выполните следующую инструкцию с целью создания конечной точки с именем CustomConnection для порта 1500 на всех доступных адресах TCP сервера.

    USE master
    GO
    CREATE ENDPOINT [CustomConnection]
    STATE = STARTED
    AS TCP
       (LISTENER_PORT = 1500, LISTENER_IP =ALL)
    FOR TSQL() ;
    GO
    

Предоставление доступа к конечной точке

  • Выполните следующую инструкцию, чтобы предоставить доступ к конечной точке CustomConnection группе SQLSupport домена corp.

    GRANT CONNECT ON ENDPOINT::[CustomConnection] to [corp\SQLSupport] ;
    GO
    

Настройка компонента SQL Server Database Engine на прослушивание дополнительного порта TCP

  1. В диспетчере конфигурации SQL Server разверните узел Сетевая конфигурация SQL Server и выберите элемент Протоколы для <имя_экземпляра>.

  2. Разверните узел Протоколы для <имя_экземпляра> и выберите TCP/IP.

  3. В правой панели щелкните правой кнопкой мыши отключенный IP-адрес, который необходимо включить, и выберите Включить.

  4. Щелкните правой кнопкой мыши IPAll и выберите пункт Свойства.

  5. В поле TCP-порт введите номера портов, которые должны прослушиваться компонентом Database Engine, разделяя их запятыми. В нашем примере, если порт по умолчанию 1433 прослушивается, введите 1500, чтобы поле содержало строку 1433,1500, и нажмите кнопку OK.

    ПримечаниеПримечание

    Если порт включается не для всех IP-адресов, настройте дополнительный порт в окне свойств только для необходимого адреса. Затем в области консоли щелкните правой кнопкой мыши TCP/IP, выберите пункт Свойства и в поле Прослушивать все выберите Нет.

  6. В левой области щелкните Службы SQL Server.

  7. В правой панели щелкните правой кнопкой мыши SQL Server<имя_экземпляра> и выберите Перезапустить.

    После перезагрузки компонента Database Engine журнал ошибок будет содержать список портов, прослушиваемых SQL Server.

Подключение к новой конечной точке

  • Выполните следующую инструкцию, чтобы подключиться к конечной точке CustomConnection экземпляра SQL Server по умолчанию на сервере с именем ACCT, используя доверенное соединение, предполагая, что пользователь является членом группы [corp\SQLSupport].

    sqlcmd -SACCT,1500