Какие порты открыть для Microsoft SQL Server?

13

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

dnolan
источник

Ответы:

14

Если у вас работает только один экземпляр SQL Server, и для него включен транспорт TCP / IP для нелокальных подключений, скорее всего, он будет прослушивать порт TCP по умолчанию: 1433.

Если у вас есть несколько экземпляров или какие-либо другие сложности, превышающие «один экземпляр по умолчанию», то все может быть сложнее. Вам нужно будет установить порты для каждого экземпляра (по умолчанию они являются полуслучайными, что, как правило, не полезно для настройки брандмауэра), и вам также потребуется открыть службу браузера SQL (которая обычно прослушивает порт UDP 1434, хотя это тоже может быть перенастроен).

Существует довольно подробный набор заметок о SQL Server и брандмауэрах по адресу http://msdn.microsoft.com/en-us/library/cc646023.aspx.

Дэвид Спиллетт
источник
4

Вам нужно будет запустить службу браузера для разрешения нестандартных экземпляров. Кроме того, открытие UDP 1434 позволит разрешать именованные экземпляры по имени вместо порта, поэтому вам не нужно будет использовать порты. Если вам неудобно открывать UDP 1434 на длительный срок или у вас есть администратор БД, который находится на месте и может подключаться локально, вы можете попросить их подключиться через SQL Server Mgmt Studio ИЛИ SQLCMD и указать соединение с сервером следующим образом:

TCP: имя_сервер \ имя_экземпляр

префикс с tcp заставит соединение tcp. Как только это будет сделано, вы можете подключиться к вашему именованному экземпляру и запросить sys.dm_exec_connections, чтобы найти порт, на котором работает экземпляр не по умолчанию, например:

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID

Роберт Гэннон
источник
0

Порт по умолчанию для SQL Server - 1433

штифтик
источник
Если вы используете именованный экземпляр, это не всегда так
Марк Хендерсон
Для именованного экземпляра номер порта по умолчанию является динамическим.
mrdenny
0

Может быть, полезно изменить порт по умолчанию для вашего экземпляра. Вы видели http://blogs.msdn.com/b/dataaccesstechnologies/archive/2010/03/03/running-sql-server-default-instance-on-a -non-default-or-non-standard-tcp-port-tips-for-make-application-connectivity-work.aspx ?

Arshia
источник
2
Можете ли вы добавить соответствующие части ссылки в свой ответ? Мы просим об этом помочь ОП, чтобы им не пришлось искать информацию, которая может не относиться к ним. Это также позволяет сохранить соответствующую информацию на случай, если хостинг сайта выйдет из строя. Для получения дополнительной информации см. Этот мета-пост .
Cfinley