Удаленное подключение к серверу SQL не работает, но если отключить брандмауэр, то работает?

Удаленное подключение к серверу SQL не работает, но если отключить брандмауэр, то работает?

Я установил SQL Server Express 2008 на сервере Windows 2008. И я сделал все стандартные вещи в SQL, чтобы разрешить удаленные соединения. Странно, что если я отключу брандмауэр сервера Windows 2008... он работает.

Я открыл порт 1433 на брандмауэре сервера. И tcp включен, есть ли какой-то другой порт, о котором я не знаю.. Я также открываю 1434 ...

в свойствах TCP я включил TCP для IP (конечно, эта часть должна работать, так как если бы я отключил брандмауэр, она бы работала), номер порта оставлен пустым, а динамические порты равны 0

Я попробовал поиграться с установкой номера порта на 1434 и установкой динамического порта как пустого.

Радости по-прежнему нет.

У меня запущен сервер браузера SQL и именованные каналы.

Я запускаю тесты со своего ПК БЕЗ БРАНДМАУЭРА и через SQL Management Studio.

Я, должно быть, что-то упускаю.

Буду очень признателен за любую помощь, которую кто-либо может предложить. Я застрял

Спасибо

решение1

Вероятно, вы забыли выполнить эту команду:

 netsh firewall set portopening TCP 1433 "SQLServer" 

Вы можете попробовать новую функцию «Исправить это» из этой статьи службы поддержки Microsoft:Как открыть порт брандмауэра для SQL Server на Windows Server 2008?

Страница также содержит скрипт, удалите строки, если вам не нужен SQL Service Broker, отладчик, https и т. д.

@echo =========  SQL Server Ports  ===================
@echo Enabling SQLServer default instance port 1433
netsh firewall set portopening TCP 1433 "SQLServer" 
@echo Enabling Dedicated Admin Connection port 1434
netsh firewall set portopening TCP 1434 "SQL Admin Connection" 

...

netsh firewall set portopening UDP 1434 "SQL Browser" 
@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)
netsh firewall set multicastbroadcastresponse ENABLE 

решение2

Вы пробовали указать исполняемые файлы как исключения в брандмауэре Windwows? Только на этих выходных я настроил свою собственную машину Win 2008 с SQL 2008, следуя этим шагам, все работает отлично. В процессе не были задействованы никакие номера портов. Могу получить доступ к этому экземпляру удаленно из Sql Management Studio без проблем.

  • Пуск->Выполнить-> firewall.cpl
  • Разрешить программу через брандмауэр Windows
  • Нажмите кнопку «Добавить программу» и выберите «Обзор».
  • Добавьте эти два исполняемых файла:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\SqlServer.exe      
C:\Program Files\Microsoft SQL Server\90\Shared\SqlBrowser.exe

решение3

Еще раз проверьте свои настройки с помощью этой статьи от Microsoft:Настройка брандмауэра Windows для разрешения доступа к SQL Server. Если вы не используете именованный экземпляр, то порт 1433, открытый для входящих подключений, должен это сделать. В любом случае просмотрите статью, вы можете обнаружить, что пропустили какой-то шаг.

решение4

Я бы проверил, что SQL-сервер принудительно использует 1433, иначе он может использовать «динамические порты». Откройте Sql Server Configuration Manager > Sql Server Network Configuration > TCP/IP > Свойства > IP-адреса Я установил: * TCP dynamic ports: * TCP port: 1433

Связанный контент