2012-05-10 40 views
3

他們最近阻止了我們的SQL Server上的所有端口。服務器有不同的實例,並且打開端口1433不起作用。我們需要打開什麼來允許訪問SQL Server?打開端口SQL Server實例

+0

從我讀到的,這些不同的實例有動態端口?我試圖給sqlserver.exe添加一個防火牆異常,但仍然無法連接。 – dave2118

+0

你不應該問「他們」嗎? –

+0

是的。好安德魯。 – dave2118

回答

7

在那裏安裝在服務器實例的計算機:

  1. 啓動SQL Server配置管理器實用程序。
  2. 打開樹控件上的SQL Server網絡配置節點,您應該會看到每個服務器實例的一個子節點。
  3. 對於每個實例,請選擇其節點並記錄是否啓用TCP/IP協議(如果未啓用,則沒有端口)。
  4. 右鍵單擊TCP/IP協議條目並從上下文菜單中選擇「屬性」。這將打開TCP/IP屬性對話框。
  5. 轉到IP地址選項卡並向下滾動到IPAll部分的底部以查看TCP端口。

如果您之前沒有配置過服務器,則可能是使用了動態端口。這不是你想要的,因爲端口可能會改變:這將使你的防火牆設置無效。因此,只需清除TCP動態端口條目並在IPAll的TCP端口條目中輸入當前動態端口號即可。重新啓動服務器實例後,服務器將被固定到該端口。

一個後續注意事項:如果您想通過實例名稱引用防火牆外的服務器,則必須允許SQL Server Browser通過防火牆(UDP端口1434)。在我看來,它是更好地從外部引用端口實例,不用擔心SQL瀏覽器。例如,不要在連接字符串中使用MYSERVER\SQLEXPRESS,而應使用MYSERVER.mydomain.com,12345(在本例中,SQLEXPRESS正在端口12345上運行)。請注意,連接字符串中的端口語法使用逗號分隔符而不是用於http URI的冒號分隔符。

+0

謝謝保羅,我清除了該設置並將其設置爲1433.現在工作! – dave2118

+0

感謝您的帖子,我有一個問題。當我轉到SQL網絡配置時,沒有列出任何服務? – Zapnologica

1

您必須爲每個實例(或具有相同端口的多個ips)設置不同的端口 轉到「SQL Server配置管理器」,轉到「SQL Server網絡配置」,選擇第一個實例的協議,雙擊在TCP/IP上選擇標籤「IP地址」,最後找到組「IPAll」,編輯TCP端口並放入1433,並在「Dinamic ports tcp」中刪除值,重啓服務。對下一個實例做同樣的事情,但用1434,1435或任何你想要的改變1433。然後在防火牆中打開您的端口。

0

進入「SQL Server網絡配置」,單擊「TCP/IP」,然後轉到「已啓用」選項中「是」「否」,然後單擊應用「IP地址」的特性,然後在IP4變化OK。然後去「SQL服務器服務」,然後停止啓動