Назад | Перейти на главную страницу

Конфигурация брандмауэра для SQL Server 2012 Express в Windows Server 2008 R2 для рабочей группы

Мы пытаемся настроить серверное приложение для работы в Windows Server 2008 R2 с использованием SQL Server 2012 Express. Когда брандмауэр сервера полностью отключен, приложение может нормально взаимодействовать с сервером, но когда брандмауэр включен и включены обычные порты SQL Server, связь не работает.

Есть ли какие-нибудь особые приемы с брандмауэром, чтобы он работал в сети рабочей группы? Специалисты службы поддержки приложений привыкли работать в доменной сети и удивлены, что брандмауэр не работает с открытыми обычными портами.

Спасибо,

Обновить:

Нам дали следующий командный файл, чтобы открыть необходимые порты на сервере. Мы попробовали это и увидели все соответствующие записи SQL в списке исключений брандмауэра, но он по-прежнему не работал (и мы попытались перезагрузить сервер).

@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" 
@echo Enabling conventional SQL Server Service Broker port 4022  
netsh firewall set portopening TCP 4022 "SQL Service Broker" 
@echo Enabling Transact-SQL Debugger/RPC port 135 
netsh firewall set portopening TCP 135 "SQL Debugger/RPC" 
@echo =========  Analysis Services Ports  ==============
@echo Enabling SSAS Default Instance port 2383
netsh firewall set portopening TCP 2383 "Analysis Services" 
@echo Enabling SQL Server Browser Service port 2382
netsh firewall set portopening TCP 2382 "SQL Browser" 
@echo =========  Misc Applications  ==============
@echo Enabling HTTP port 80 
netsh firewall set portopening TCP 80 "HTTP" 
@echo Enabling SSL port 443
netsh firewall set portopening TCP 443 "SSL" 
@echo Enabling port for SQL Server Browser Service's 'Browse' Button
netsh firewall set portopening UDP 1434 "SQL Browser" 
@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)
netsh firewall set multicastbroadcastresponse ENABLE

В документации по SQL Server есть очень хорошая глава по настройке брандмауэра Windows для SQL Server. Обратите особое внимание на раздел «динамические порты»: Настройте брандмауэр Windows для разрешения доступа к SQL Server

Я предполагаю, что у вашего экземпляра есть брокер, который прослушивает 1433, а затем использует динамические порты для экземпляра SQL DB. В этом случае вы можете либо отключить динамические порты, либо с помощью расширенного брандмауэра Windows предоставить доступ к sqlservr.exe вместо определенного порта (согласно документации).