遠端連線 sql server 不工作,但如果防火牆停用它可以工作嗎?

遠端連線 sql server 不工作,但如果防火牆停用它可以工作嗎?

我在 Windows 2008 伺服器上安裝了 sql server express 2008。我已經完成了 sql 中的所有標準內容以允許遠端連線。奇怪的是,如果我禁用 Windows 2008 伺服器防火牆..它可以工作。

我在伺服器防火牆上打開了一個連接埠1433。並且tcp已啟用,是否還有其他我不知道的連接埠..我還打開了1434 ...

在 TCP 屬性下,我已為 ip 啟用 tcp(當然,這部分必須正常工作,就像我禁用防火牆一樣),連接埠號碼留空,動態連接埠為 0

我嘗試將連接埠號碼設為 1434 並將動態連接埠設為空白。

還是沒有喜悅。

我正在運行 sql 瀏覽器伺服器並命名管道..

我正在沒有防火牆的情況下透過 Sql 管理工作室從我的電腦執行測試。

我肯定錯過了什麼

真的很感謝任何人都可以提供的幫助..我被困住了

謝謝

答案1

可能您忘記執行此命令:

 netsh firewall set portopening TCP 1433 "SQLServer" 

您可以嘗試此 Microsoft 支援文章中的新「修復它」功能:如何在 Windows Server 2008 上開啟 SQL Server 的防火牆連接埠?

該頁面還包含一個腳本,如果不需要 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

您是否嘗試過將可執行檔指定為 Windows 防火牆中的例外?就在這個週末,我按照這些步驟設定了自己的 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 Server 是否強制使用 1433,否則它可能會使用「動態連接埠」。開啟 Sql Server 設定管理員 > Sql Server 網路設定 > TCP/IP > 屬性 > IP 位址 我已設定:* TCP 動態連接埠:* TCP 連接埠:1433

相關內容