Как проверить, прослушивает ли SQL Server динамический или статический порт
В этой статье описывается, как определить, прослушивает ли именованный экземпляр Microsoft SQL Server динамический и статический порт. Эти сведения могут быть полезны при устранении различных проблем с подключением, связанных с SQL Server.
По умолчанию экземпляр SQL Server с именем настроен для прослушивания динамических портов. Он получает доступный порт из операционной системы. Вы также можете настроить SQL Server именованные экземпляры для запуска с определенного порта. Это называется статическим портом. Дополнительные сведения о статических и динамических портах в контексте SQL Server см. в разделе Статические и динамические порты.
Используйте следующую процедуру, чтобы определить, прослушивает ли SQL Server именованный экземпляр динамический порт или статический порт.
Вариант 1. Использование диспетчер конфигурации SQL Server
- В диспетчер конфигурации SQL Server разверните узел SQL Server Конфигурация сети, разверните пункт Протоколы в поле Имя экземпляра, а затем дважды щелкните TCP/IP.
- В разделе Свойства TCP/IP выберите Протокол.
- Проверьте значение в параметре Прослушивание всех . Если задано значение Да, перейдите к шагу 4. Если для него задано значение Нет, перейдите к шагу 6.
- Перейдите в раздел IP-адреса и прокрутите страницу свойств TCP/IP вниз.
- Проверьте значения в разделе ВСЕ IP-адреса и используйте следующую таблицу, чтобы определить, прослушивает ли именованный экземпляр динамический или статический порт.
Динамические порты TCP TCP-порт SQL Server экземпляр, использующий динамические или статические порты? «Пустой». «Пустой». Динамические порты «Пустой». Динамические порты — динамический порт, который SQL Server в настоящее время прослушивает. Одновременный прослушивание динамического и статического портов - Переключитесь на IP-адреса. Обратите внимание, что несколько IP-адресов отображаются в формате IP1, IP2, вплоть до IP-адресов All. Один из этих IP-адресов предназначен для адаптера замыкания на себя , 127.0.0.1. Для каждого IP-адреса на компьютере отображаются дополнительные IP-адреса. (Вероятно, вы увидите IP4 и IP6-адреса.) Чтобы проверить, настроен ли определенный IP-адрес для динамического или статического порта, используйте следующую таблицу.
Динамические порты TCP TCP-порт SQL Server экземпляр, использующий динамические или статические порты? «Пустой». «Пустой». Динамические порты «Пустой». Динамические порты — это динамический порт, который SQL Server в настоящее время прослушивает. Одновременный прослушивание динамического и статического портов
Значение 0 в динамических портах TCP указывает, что именованный экземпляр в настоящее время не запущен и настроен для динамических портов. После запуска экземпляра поле значения будет отражать динамический порт, используемый экземпляром в данный момент.
Вариант 2. Использование PowerShell
- Выполните следующий скрипт в интегрированной среде сценариев PowerShell. В окне Консоли отображаются все соответствующие tcp/IP-адреса для всех экземпляров SQL Server (SQL Server 2014–SQL Server 2019), установленных в системе.
clear Write-Host "SQL Server 2019" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@> |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort,DisplayName, @>, IpAddress |Format-Table -AutoSize Write-Host "SQL Server 2017" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@> |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort, DisplayName, @>, IpAddress |Format-Table -AutoSize Write-Host "SQL Server 2016" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@> |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort, DisplayName, @>, IpAddress |Format-Table -AutoSize Write-Host "SQL Server 2014" Write-Host "=====================" Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.*\MSSQLServer\SuperSocketNetLib\Tcp" | Select-Object -Property Enabled, KeepAlive, ListenOnAllIps,@> |Format-Table -AutoSize Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.*\MSSQLServer\SuperSocketNetLib\Tcp\IP*\" | Select-Object -Property TcpDynamicPorts,TcpPort, DisplayName, @>, IpAddress |Format-Table -AutoSize
Значение 0 в динамических портах TCP указывает, что именованный экземпляр в настоящее время не запущен и настроен для динамических портов. После запуска экземпляра поле значения будет отражать динамический порт, используемый экземпляром в данный момент.
См. также
- Проблема с согласованной проверкой подлинности 0400.
- Настройка сервера для прослушивания определенного TCP-порта
- Свойства TCP/IP (вкладка «IP-адреса»)
Как узнать порт удаленного MS SQL сервера?
Суть вопроса, имеем n серверов и доступ к ним по WMI, как собрать инфу по портам на которых висят инстансы? То есть, есть сервер на котором крутится пару инстансов у них есть порты, как узнать какие это порты и какому инстансу принадлежат? Вариант «зайти и посмотреть» не очень подходит в связи с кол-вом серверов.
- Вопрос задан более трёх лет назад
- 855 просмотров
2 комментария
Оценить 2 комментария

Ярослав Иванов @space2pacman
Просканировать 65к портов ?
DeilaWa @DeilaWa Автор вопроса
Ярослав Иванов: Нет, это не вариант.
Решения вопроса 0
Ответы на вопрос 1

chupasaurus @chupasaurus
Сею рефлекторное, злое, временное
WMI не может выдать список используемых процессами сетевых портов, поэтому через этот метод получить не получится.
Из штатных средств возможно таким способом: поднимите WS-Management и через PS-Remote прогоните скрипт, определяющий соответствие «id процессов MS SQL — порты». Легче всего данный скрипт было бы прогнать с помощью ansible, но подозреваю что вы не под Linux-ом сидите и WSL ради этого ставить не комильфо.
Как узнать порт экземпляра SQL Server?


В первую очередь стоит сказать, что порт по-умолчанию для SQL Server — 1433. Но если у вас этот порт был изменён или запущено несколько экземпляров SQL Server, то есть методы, которые вам помогут ответить на данный вопрос:
Метод 1 (xp_readerrorlog):
На необходимом экземпляре сервера необходимо выполнить следующий код:
USE MASTER
xp _ readerrorlog 0 , 1 , N ‘Server is listening on’
В результате в столбце «Text» вы сможете узнать порт данного экземпляра
Метод 2 (Настройка конфигурации сервера):
Идём Пуск » Microsoft SQL Server 2008 (или иная версия) » Configuration Tools » SQL Server Configuration Manager
Теперь идём SQL Server Network Configurations » Protocols [далее идёт имя вашего экземпляра] » TCP/IP и жмём правую кнопку мышки » Переходим на вкладку IP Addresses где можно посмотреть порт данного экземпляра
Это лёгкий метод найти ваш порт дополнительного экземпляра.
- Как узнать дату установки сервера?
- Все, что вы хотели узнать об объектах БД, но всегда боялись спросить
- Все что вы всегда хотели узнать про tempdb, но не знали, кого спросить (видео)
- Что делать если у вас много баз данных, а нужно узнать активность только одной из них
Узнать порт в MySQL, на котором она работает

Узнать порт, назначеный MySQL для работы можно через консоль.
1. Запускаем системный терминал.
«Пуск» — «Найти программы и файлы«, в поле ввода набираем «cmd«, нажимаем «Enter«.

2. Теперь необходимо войти в MySQL.
Если при установке MySQL были указаны переменные Path, то можно сразу переходить к п.3 в противном случае нужно сначала переместиться в папку, где лежит исполняемый файл базы данных.
По умолчанию MySQL устанавливается в «C:\Program Files\MySQL» Вводим в окне:
| cd C:\Program Files\MySQL\MySQL Server 5.7\bin |
Где «MySQL Server 5.7» — папка с текущей версией БД, а «bin»— папка с исполняемым файлом
3.Теперь выполняем вход в БД:
| mysql.exe -uUSER -pPASSWORD |
Где «USER» — имя пользователя, а «PASSWORD»— пароль
4. Отлично, мы попали в консоль управления MySql.
Теперь вводим команду
| show variables like ‘port’; |
MySql отобразит порт, на котором она работает.