我们正在尝试将服务器应用程序configuration为使用SQL Server 2012 Express在Windows Server 2008 R2上运行。 在服务器防火墙完全closures的情况下,应用程序可以很好地与服务器进行通信,但是当防火墙打开并且通常的SQL Server端口被启用时,通信将失败。
有没有什么特别的技巧与防火墙,使其能够在工作组networking上工作? 应用程序支持人员习惯于在基于域的networking上工作,并且惊讶于防火墙不能处理其通常的端口。
谢谢,
更新:
我们给了以下batch file来打开服务器上所需的端口。 我们试过了,看到防火墙例外列表中的所有相应的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文档在configurationSQL Server的Windows防火墙方面有很好的一章。 请特别注意“dynamic端口”部分: 将Windows防火墙configuration为允许SQL Server访问
我会假设你的实例有一个代理侦听1433,然后使用SQL数据库实例的dynamic端口。 在这种情况下,您可以禁用dynamic端口,也可以使用Windows高级防火墙授予对sqlservr.exe的访问权限,而不是特定的端口(根据文档)。