Published on

September 3, 2025

Управление настройками порта SQL Server

Проблема: После сбоя может возникнуть проблема с подключением, если ваш экземпляр SQL Server настроен на использование как статического, так и динамического порта. Кроме того, управление правилами брандмауэра становится проще при использовании одного статического порта.

Решение: Чтобы исправить проблемы с подключением при использовании динамических портов, вам необходимо удалить запись о динамическом порте, включая ноль в настройках IP-адресов для экземпляра. Перезапустите экземпляр SQL Server и, если это кластер, выполните сбой и восстановление.

Шаг 1 – Проверьте, использует ли SQL Server как статический, так и динамический порт

Запустите следующий код T-SQL, чтобы узнать, есть ли активные подключения, использующие как статический, так и динамический порт:

SELECT distinct @@SERVERNAME as [Instance], local_tcp_port
FROM sys.dm_exec_connections 
WHERE local_tcp_port is not null

Если результат включает динамический порт (например, 49981), вам необходимо настроить порт.

Шаг 2 – Определите узлы, на которых размещен экземпляр

Если ваш экземпляр размещен в кластере Windows, откройте Менеджер кластера отказоустойчивости и перейдите в Менеджер сервера > Функции > Менеджер кластера отказоустойчивости. Используйте следующий код T-SQL, чтобы показать имя активного узла для экземпляра:

Select @@servername as [Имя экземпляра], SERVERPROPERTY('ComputerNamePhysicalNetBIOS') as 'Узел'

Шаг 3 – Настройте настройки TCP-порта с помощью SQL Server Configuration Manager

Удаленно подключитесь к каждому узлу, на котором размещен экземпляр, и запустите SQL Server Configuration Manager. Если используется графический интерфейс, откройте окно выполнения команд, используя “Windows+R” и введите SQLSERVERMANAGERXX.msc (XX представляет версию SQL Server), чтобы открыть его. Если используется сервер Windows с минимальной конфигурацией оболочки, запустите Консоль управления Microsoft (mmc) и добавьте снимок SQL Server Configuration Manager.

Перейдите в раздел Конфигурация сети SQL Server, затем в протоколы для экземпляра и откройте протокол TCP/IP. В разделе IP-адреса удалите любую запись из области TCP Dynamic Ports, включая ноль, если он присутствует. Щелкните ОК, чтобы применить изменение. Повторите этот шаг для каждого узла, на котором размещен экземпляр.

Шаг 4 – Перезапустите и выполните сбой

Выполните сбой экземпляра и повторно выполните код T-SQL из Шага 1, чтобы убедиться, что у него больше нет открытого динамического порта. Верните экземпляр и снова проверьте порт.

Соображения и определения

Что такое порт? Номер порта – это «конечная точка» службы, способ подключения процесса к серверу. Номер порта содержится как в пакетах User Datagram Protocol (UDP), так и Transmission Control Protocol (TCP). Порт имеет смысл, когда он связан с протоколом и IP-адресом или хостом.

Почему использовать статические порты? Использование статических портов проще настраивать в брандмауэре Windows Server.

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

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

Почему динамический порт меняется? При запуске SQL Server проверяет, свободен ли порт. Если нет, он должен изменить номер порта, что означает, что ваше правило брандмауэра больше не будет работать.

Статическое распределение портов: Если вы настроили экземпляр SQL Server на использование статического порта и перезапустили экземпляр, клиенты могут подключаться только к этому экземпляру с использованием этого порта. Служба SQL Server Browser будет направлять клиентов на указанный порт.

Динамическое распределение портов: При запуске экземпляра SQL Server он запрашивает свободный номер порта у операционной системы.

Советы по брандмауэру: В какой-то момент вам может потребоваться проверить правила брандмауэра. Используйте команды PowerShell для перечисления правил брандмауэра.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.