搭配使用 PortQryUI 工具與 SQL Server

PortQry 是一種命令行工具,可用來協助針對 TCP/IP 連線問題進行疑難解答。 此工具會報告本機或遠端電腦上目標 TCP 和用戶數據報協定 (UDP) 埠的狀態。 PortQryUI.exe 可讓您使用UI,而不是 PortQry 的命令行。

本文討論當您針對影響 Microsoft SQL Server 的連線問題進行疑難解答時,如何使用 PortQryUI 工具。 如需 PortQry 命令行工具的詳細資訊,請 參閱使用 PortQry 命令行工具

注意事項

由於 PortQryUI 是用來作為疑難解答工具,因此您應該有足夠的運算環境知識,才能有效地使用此工具。

關於 PortQryUI 工具

PortQryUI 工具可協助您執行下列工作:

  • 解決 TCP/IP 連線問題。
  • 顯示本機或遠端電腦上的 TCP 和 UDP 連接埠狀態。
  • 針對影響 SQL Server的各種連線問題進行疑難解答。

您可以從 Microsoft 下載中心下載 PortQryUI 工具:

PortQryUI - PortQry 命令行埠掃描器的使用者介面

使用 PortQryUI 工具

若要解決電腦或遠端電腦上的連線問題,請遵循下列步驟:

  1. 在用戶端電腦上啟動 埠QryUI (發生連線問題) 。

  2. 在 [ 輸入目的地 IP 或要查詢的 FQDN] 方塊中,指定您要知道埠狀態之計算機的 IP 位址或 FQDN 名稱。

  3. 選取 [查詢預先定義的服務],然後選取 [SQL 服務]。 計算機上的埠會依其使用的服務類型分組。 您可以依服務類型進行查詢。 預先定義的服務如下所示:

    • 網域和信任
    • DNS 查詢
    • NetBIOS 通訊
    • Ipsec
    • SQL 服務
    • WEB 服務
    • Exchange Server
    • Netmeeting 和其他服務
  4. 指定信息之後,請選取 [查詢],然後檢查輸出。 如需如何譯碼 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 正在非預設埠上接聽, (檢查錯誤) 。
  • 用戶端與伺服器之間的防火牆封鎖了埠。

建議的因應措施:請嘗試下列因應措施:

  • 請確定 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 用戶端網路公用程式 (Cliconfg.exe) 的 [SQL Server 組態管理員] 或 [別名] 引標籤上,檢查 SQL Server 實例是否有別名。

實例類型:具名實例

來自 PortQry 的輸出UDP port 1434 (ms-sql-m service): FILTERED

可能的原因:此問題可能有下列任何原因:

  • SQL Server 具名實例尚未啟動。
  • SQL Server 瀏覽器尚未在裝載您 SQL Server 實例的系統上啟動。
  • 以 SQL Server 為基礎的計算機或客戶端與伺服器之間的網路上的防火牆會封鎖 UDP 連接埠 1434。
  • 服務已啟動。

建議的因應措施:請嘗試下列因應措施:

  • 啟動 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 為基礎的計算機。 不過,應用層中的其他專案可能會造成問題。

建議的因應措施:請嘗試下列因應措施:

  • 請確定已在 連接字串 中正確指定伺服器名稱和埠號碼。
  • 請確定客戶端電腦上未定義任何舊別名。 請檢查客戶端系統上用戶端網路公用程式 (Cliconfg.exe) 中 SQL Server 組態管理員 或 [別名] 索引標籤中的 SQL Server SQL Server 實體是否存在別名。

當您使用 PortQryUI 工具時,連線問題可能會有不同的案例。 下列每個螢幕快照都會根據實例的類型以及連線是否成功來顯示輸出。 如果連接正確發生,則會顯示 「接聽」的值。 如果未發生連線,則會顯示 「已篩選」的值。

下列輸出來自連線成功的預設埠上的預設實例。

此螢幕快照顯示連線成功的預設埠上的預設實例。

如果預設埠上的預設實例連線失敗,輸出會顯示如下列螢幕快照所示。

顯示預設埠上預設實例連線失敗的螢幕快照。

例如,如果具名實例的連線成功 (,則實例名稱為 「SQL 2014」,而主機名為 「SQLCONNVM」) ,則輸出會顯示如下列螢幕快照所示。

具名實例成功連線的螢幕快照。

如果具名實例的連線失敗,輸出會顯示,如下列螢幕快照所示。

顯示具名實例連線失敗的螢幕快照。