Поделиться через


Настройка ядра СУБД для прослушивания нескольких TCP-портов

Область применения:SQL Server

В этой статье описывается настройка ядра СУБД для прослушивания нескольких TCP-портов в SQL Server с помощью диспетчера конфигурации SQL Server. Если для SQL Server включен ПРОТОКОЛ TCP/IP, ядро СУБД прослушивает входящие подключения в точке подключения, состоящей из IP-адреса и номера TCP-порта. Следующие процедуры создают конечную точку табличного потока данных (TDS), чтобы SQL Server прослушивал другой TCP-порт.

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

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

  • Установка соответствия соединений определенным процессорам при использовании технологии доступа к неоднородной памяти (NUMA).

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

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

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

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

Дополнительные сведения о параметрах брандмауэра Windows по умолчанию и описании TCP-портов, влияющих на ядро СУБД, Службы 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

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

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

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

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

Настройка ядра СУБД SQL Server для прослушивания другого TCP-порта

  1. В диспетчере конфигурации SQL Server, разверните узел "Конфигурация сети SQL Server", и выберите протоколы для<instance_name>.

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

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

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

  5. В поле TCP-порта введите порты, на которых должна прослушивать СУБД, разделенные запятыми. В нашем примере, если указан порт 1433 по умолчанию, введите 1500 , чтобы поле считывалось 1433 1500, а затем нажмите кнопку "ОК".

    Примечание.

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

  6. На левой панели выберите Службы SQL Server.

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

    При перезапуске ядра СУБД журнал ошибок перечисляет порты, на которых прослушивается SQL Server.

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

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

sqlcmd -SACCT,1500