2012年8月2日 星期四

SQL服務Client無法連線解決方式

當SQL Server有超過一個具名管道時(安裝2個以上的SQL Server服務),會發生本機可以連上服務,但遠端無法連上之問題,有可能是SQL Browser或具名管道的Port被防火牆擋住了。

解決步驟如下:

1.先確定SQL Browser的Port(預設值:1434)是否有加入防火牆

clip_image002

2.檢查各具名管道所使用的POTR

先開啟SQL Server組態管理員

clip_image004

第一個安裝的SQL Server服務預設Port是:1433

clip_image007

第二個安裝的SQL Server服務則需指定通訊Port

clip_image010

將所使用的Port設入防火牆的例外清單

clip_image012

運作原理:當SQL Serer只安裝一個服務時,預設會用Port 1433進行溝通,但若裝了二個以上的服務則需使用具名管道,當用具名管道提出服務時,SQL 主機會依據具名管道,透過SQL Browser去尋找對應服務的Port,再將Port回傳給Client端,Client再依據此Port提出服務需求,當防火牆沒有將此Port設定在例外清單時,Client提出的服務則會被防火牆擋住,導致無法連線。

Note:

利用Dos指令 netstat – a可以檢視目前主機監聽的Port有哪些

SQL Server服務的Port:1433

clip_image015

SQL Browser的Port:1434

clip_image018

沒有留言: