Как проверить, прослушивает ли 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-адреса»)
Настройка SQL Server прослушивания определенного TCP-порта
В этой статье описывается, как настроить экземпляр ядра СУБД SQL Server для прослушивания определенного фиксированного порта с помощью диспетчер конфигурации SQL Server. Если прослушивание включено, то экземпляр компонента Компонент SQL Server Database Engine по умолчанию прослушивает TCP-порт 1433. Именованные экземпляры Компонент Database Engine и SQL Server Compact настроены для использования динамических портов. Это означает, что при запуске службы SQL Server для них выбирается свободный порт. При подключении к именованным экземплярам через брандмауэр настройте ядро СУБД для прослушивания определенного порта, чтобы открыть соответствующий порт в брандмауэре.
Поскольку порт 1433 — известный стандарт SQL Server, некоторые организации указывают, что в целях безопасности номер порта SQL Server необходимо изменить. В некоторых средах это может быть очень полезным. Однако архитектура TCP/IP позволяет сканеру портов запрашивать открытые порты, поэтому изменение номера порта не считается надежной мерой безопасности.
Дополнительные сведения о настройках брандмауэра Windows по умолчанию и описание портов TCP, влияющих на компонент Database Engine, службы Analysis Services, службы Reporting Services и службы Integration Services, см. в разделе Настройка брандмауэра Windows для разрешения доступа к SQL Server.
При выборе номера порта руководствуйтесь приведенным по адресу https://www.iana.org/assignments/port-numbers списком номеров портов, которые назначаются конкретным приложениям. Выберите незанятый номер порта. Дополнительные сведения см. в разделе Предусмотренный по умолчанию динамический диапазон портов для TCP/IP, который изменился в Windows Vista и Windows Server 2008.
Компонент Database Engine начнет прослушивание нового порта после перезапуска. Однако служба браузера SQL Server отслеживает реестр и возвращает новый номер порта, как только будет изменена конфигурация, даже если компонент Database Engine его не использует. Перезапустите компонент Database Engine, чтобы обеспечить согласованность и избежать ошибок соединения.
Использование диспетчер конфигурации SQL Server
Назначение номера порта TCP/IP для ядра СУБД SQL Server
- В области консоли диспетчера конфигурации SQL Server разверните узел Сетевая конфигурация SQL Server, выберите Протоколы для , а затем на панели справа дважды щелкните TCP/IP.
Примечание Если возникают проблемы при открытии SQL Server Configuration Manager, см. статью Диспетчер конфигурации SQL Server.
Примечание Если параметр Прослушивать все на вкладке Протокол имеет значение «Да», то будут использоваться только значения TCP-порт и Динамический TCP-порт в разделе IPAll, а отдельные разделы IPn будут полностью игнорироваться. Если параметр Прослушивать все имеет значение «Нет», то параметры TCP-порт и Динамический TCP-порт в разделе IPAll будут игнорироваться, а использоваться будут параметры TCP-порт, Динамический TCP-порт и Включено в отдельных разделах IPn. В каждом разделе IPn есть параметр Включено, по умолчанию имеющий значение «Нет», который позволяет игнорировать этот IP-адрес в SQL Server, даже если порт задан.
Подключение
После настройки SQL Server прослушивания определенного порта существует три способа подключения к определенному порту с помощью клиентского приложения.
- Запустите службу браузера SQL Server на сервере для подключения к экземпляру компонента Компонент Database Engine по имени.
- Создайте псевдоним на клиенте, указав номер порта.
- Настройте клиент на использование пользовательской строки подключения.
См. также раздел
- Создание или удаление псевдонима сервера для использования клиентом (диспетчер конфигурации SQL Server)
- Служба обозревателя SQL Server
Как узнать порт экземпляра 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, но не знали, кого спросить (видео)
- Что делать если у вас много баз данных, а нужно узнать активность только одной из них
Порты TCP и UDP для SQL Server
Подсистемы и компоненты, которыми компания Microsoft продолжает дополнять SQL Server, заметно увеличили число сетевых подключений, используемых платформой. Иногда сложно определить, какие порты брандмауэра открыты для каждого компонента SQL Server. Чтобы упростить задачу, мы подготовили список широко применяемых сетевых портов SQL Server
Из простой реляционной системы управления базами данных SQL Server превратилась в многоцелевую платформу данных корпоративного уровня. .
TCP 1433 — порт, выбираемый для SQL Server по умолчанию. Это официальный номер сокета IANA (агентство по выделению имен и уникальных параметров протоколов Интернета) для SQL Server. Клиентские системы используют порт TCP 1433 для подключения к системе управления базами данных; в среде SQL Server Management Studio (SSMS) порт служит для управления экземплярами SQL Server через сеть. Можно настроить SQL Server для прослушивания другого порта, но в большинстве случаев используется порт 1433.
TCP 1434 — порт, выбираемый по умолчанию для выделенного административного соединения. Вы можете запустить выделенное административное соединение с помощью командной строки sqlcmd или введя «ADMIN:» с последующим именем сервера в диалоговом окне SSMS Connect to Database Engine.
Порт UDP 1434 используется для именованных экземпляров SQL Server. Служба SQL Server Browser прослушивает этот порт, чтобы обнаружить входящие соединения с именованным экземпляром. Затем служба передает клиенту номер TCP-порта для запрошенного имени экземпляра.
TCP 2383 — порт, выбираемый по умолчанию для служб SQL Server Analysis Services.
TCP-порт 2382 используется для запросов подключения к именованному экземпляру Analysis Services. Как и в случае с реляционной базой данных и портом UDP 1434, служба SQL Server Browser прослушивает порт TCP 2382, обнаруживая запросы для именованных экземпляров Analysis Services. Затем службы Analysis Services перенаправляют запрос в соответствующий порт для именованного экземпляра.
У TCP-порта 135 несколько применений. Он используется отладчиком Transact-SQL, а также применяется для запуска, останова и управления службами SQL Server Integration Services, хотя необходимость в нем возникает только при подключении к удаленному экземпляру службы из SSMS.
TCP-порты 80 и 443 чаще всего используются для доступа к серверу отчетов. Однако они поддерживают и URL-запросы к SQL Server и Analysis Services. TCP 80 — стандартный порт для HTTP-соединений, использующих URL. TCP 443 обслуживает HTTPS-соединения через протокол SSL.
Неофициальные TCP-порты
Компания Microsoft использует TCP-порт 4022 для экземпляров SQL Server Service Broker в электронной документации SQL Server. Аналогично, экземпляры BOL Database Mirroring задействуют TCP-порт 7022.
В этом списке перечислены самые необходимые порты. Более подробные сведения о портах TCP и UDP, используемых SQL Server, приведены в статье Microsoft «Configure the Windows Firewall to Allow SQL Server Access» (msdn.microsoft.com/en-us/library/cc646023%28v=sql.120%29.aspx).
