搭配 SQL Server 使用 PortQryUI 工具
PortQry 是命令行工具,可用來協助針對 TCP/IP 連線問題進行疑難解答。 此工具會報告本機或遠端電腦上的目標 TCP 和使用者數據報通訊協定 (UDP) 埠狀態。 PortQryUI.exe可讓您使用UI,而不是 PortQry 的命令行。
本文討論當您針對影響 SQL Server Microsoft 的連線問題進行疑難解答時,如何使用 PortQryUI 工具。 如需 PortQry 命令行工具的詳細資訊,請參閱 使用 PortQry 命令行工具。
注意
由於 PortQryUI 是用來作為疑難解答工具,因此您應該有足夠的計算環境知識,才能有效地使用此工具。
關於 PortQryUI 工具
PortQryUI 工具可協助您執行下列工作:
- 解決 TCP/IP 連線問題。
- 顯示本機或遠端電腦上的 TCP 和 UDP 連接埠狀態。
- 針對影響 SQL Server 的各種連線問題進行疑難解答。
您可以從Microsoft下載中心下載 PortQryUI 工具:
PortQryUI - PortQry 命令行埠掃描器的使用者介面
使用 PortQryUI 工具
若要解決電腦或遠端電腦上的連線問題,請遵循下列步驟:
在您的用戶端電腦上啟動 PortQryUI (遇到連線問題)。
在 [ 輸入目的地 IP 或 FQDN 以查詢] 方塊中,指定您想要知道埠狀態之計算機的 IP 位址或 FQDN 名稱。
選取 [ 查詢預先定義的服務],然後選取 [ SQL 服務]。 計算機上的埠會依所使用的服務類型分組。 您可以依服務類型進行查詢。 預先定義的服務如下所示:
- 網域與信任
- DNS 查詢
- NetBIOS 通訊
- IPSEC
- SQL 服務
- WEB 服務
- Exchange Server
- Netmeeting 和其他服務
指定信息之後,請選取 [ 查詢],然後檢查輸出。 如需如何譯碼 PortQryUI 工具所顯示輸出的詳細資訊,請參閱 SQL Server 連線問題的可能原因和建議的因應措施 一節。
注意
如果您有 SQL Server 型電腦的系統管理員存取權,您可以在該電腦上下載並執行 SQL 連線設定檢查工具,並檢閱輸出與下一節搭配使用。
SQL Server 連線問題的可能原因和建議的因應措施
實例類型:預設實例
PortQry 的輸出: TCP port 1433 (ms-sql-s service): NOT LISTENING
可能的原因:此問題可能會有下列任何原因:
- SQL Server 尚未啟動。
- SQL Server 通訊協定清單上未啟用 TCP/IP。
- SQL Server 正在接聽非預設埠 (check errorlog)。
- 用戶端與伺服器之間的防火牆正在封鎖埠。
建議的因應措施:請嘗試下列因應措施:
- 請確定 SQL Server 已啟動。
- 請確定已在 SQL Server 網路組態中為您的伺服器實例啟用 TCP/IP。
- 檢查 SQL Server 錯誤記錄檔中的埠號碼。 請使用 servername\portnumber 格式的 連接字串 。
- 請連絡您的網路或 Windows 系統管理員,以確定 TCP 連接埠 1433(或目前設定的 SQL Server 埠)不會由網路上的防火牆或 SQL Server 系統上的 Windows 防火牆封鎖。 若要設定 Windows 防火牆以與 SQL Server 實例搭配運作,請檢閱 設定 Windows 防火牆。
實例類型:預設實例
PortQry 的輸出: TCP port 1433 (ms-sql-s service): LISTENING
可能的原因:此問題表示用戶端連結庫可以連線到 SQL Server 型電腦,但應用層的其他專案可能會導致問題。
建議的因應措施:請嘗試下列因應措施:
- 檢查是否已在 連接字串 中正確指定伺服器名稱。 如果 連接字串 使用埠號碼,請確定已正確指定。
- 如果 連接字串 使用埠號碼,請確定它已設定為正確的值。 請確定客戶端電腦上未定義任何舊的別名。
- 在 SQL Server 組態管理員 或客戶端系統上 SQL Server 用戶端網路公用程式 (Cliconfg.exe) 的 [別名] 索引標籤上,檢查 SQL Server 實例是否存在別名。
實例類型:具名實例
PortQry 的輸出: UDP port 1434 (ms-sql-m service): FILTERED
可能的原因:此問題可能會有下列任何原因:
- 尚未啟動 SQL Server 具名實例。
- SQL Server 瀏覽器尚未在裝載 SQL Server 實例的系統上啟動。
- UDP 埠 1434 是由 SQL Server 型電腦上的防火牆或客戶端與伺服器之間的網路封鎖。
- 服務已啟動。
建議的因應措施:請嘗試下列因應措施:
- 啟動您的 SQL Server 具名實例。
- 嘗試啟動 SQL Server 瀏覽器服務。
- 請與您的網路或 Windows 系統管理員合作,確定網路上的防火牆或 SQL Server 系統上的 Windows 防火牆不會封鎖 UDP 連接埠 1434。 若要設定 Windows 防火牆以與 SQL Server 搭配運作,請參閱 設定 Windows 防火牆。
- 如果防火牆上無法開啟 UDP 1434,您應該將 SQL Server 具名實例設定為在靜態埠上接聽,並在 連接字串 中使用 servername\portnumber。
實例類型:具名實例
PortQry 的輸出: UDP port 1434 is LISTENING
可能的原因:此問題表示用戶端連結庫可以連線到 SQL Server 型電腦。 不過,應用層中的其他專案可能會導致問題。
建議的因應措施:請嘗試下列因應措施:
- 請確定 連接字串 中已正確指定伺服器名稱和埠號碼。
- 請確定客戶端電腦上未定義任何舊的別名。 請檢查您的 SQL Server 實例是否存在於 SQL Server 組態管理員 或客戶端系統上 SQL Server 用戶端網路公用程式 (Cliconfg.exe) 中的 [別名] 索引標籤。
當您使用 PortQryUI 工具時,連線問題可能會有所不同。 下列每一個螢幕快照都會根據實例類型以及連線是否成功顯示輸出。 如果連線正確發生,則會顯示 「接聽」的值。 如果連線未發生,則會顯示 「Filtered」 的值。
下列輸出來自成功連線的預設埠上的預設實例。
如果預設埠上預設實例的連線失敗,則會顯示輸出,如下列螢幕快照所示。
如果具名實例的連線成功(例如,實例名稱為 “SQL 2014”,而主機名為 “SQLCONNVM”),輸出會顯示如下列螢幕快照所示。
如果具名實例的連線失敗,則會顯示輸出,如下列螢幕快照所示。