首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2005 遠端連線失敗全方位排查:VIA 協定、防火牆、Browser 服務與壓縮資料夾陷阱

     編輯:關於SqlServer

SQL Server 2005 安裝後無法遠端連線、Configuration Manager 開啟報「要求失敗」、服務啟動失敗、錯誤日誌出現「檔案已壓縮」警告,這些看似無關的症狀往往指向同幾個根因。本文整合 4 大核心故障類型與解決方案,附圖解步驟,助你一次解決連線難題。

故障一:Configuration Manager 開啟報錯 / 服務無法啟動 — 禁用 VIA 協定

現象:開啟 SQL Server Configuration Manager 彈出「要求失敗或服務未及時回應」;或服務啟動失敗。

Configuration Manager 錯誤

根因:VIA (Virtual Interface Adapter) 協定與部分硬體/驅動衝突,導致 WMI 查詢掛住。

解法:

  1. 開始 → 程式集 → Microsoft SQL Server 2005 → 設定工具 → SQL Server Configuration Manager。
  2. 展開「SQL Server 2005 網路設定」→ 選取執行個體 (如 MSSQLSERVER) → 右側「協定」。
  3. 將 VIA 協定 狀態設為 已停用。
  4. 重新啟動 SQL Server 服務 (MSSQLSERVER)。

故障二:錯誤日誌出現「檔案已壓縮但未駐留在唯讀資料庫」 — 解除資料夾壓縮

現象:SQL Server 錯誤日誌記錄:
File "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf" is compressed but does not reside in a read-only database or filegroup. The file must be decompressed.

資料夾屬性-進階

取消壓縮內容

解法:

  1. 以總管開啟 SQL Server 資料目錄 (預設 C:\Program Files\Microsoft SQL Server\MSSQL.x\MSSQL\DATA\)。
  2. 右鍵「屬性」→「進階」→ 取消勾選「壓縮內容以節省磁碟空間」**。
  3. 選擇「套用變更到此資料夾、子資料夾和檔案」,確定。
  4. 重啟 SQL Server 服務。

原理:SQL Server 資料/記錄檔不支援 NTFS 壓縮,壓縮會導致 I/O 錯誤與服務啟動失敗。

故障三:遠端連線失敗「SQL Server 不允許遠端連線 / 命名管道提供者 Error 40」 — 完整啟用清單

核心 4 面向必須全部完成:

1. 啟用資料庫引擎遠端連線

  1. 「SQL Server 2005 表面區域配置工具」→「服務與連線的表面區域配置」。
  2. 展開「Database Engine」→「遠端連線」→ 選 「本機和遠端連線」** → 勾選 TCP/IP 與 Named Pipes → 套用。
  3. 提示「需重新啟動服務生效」→ 同視窗「服務」→ 停止 → 啟動 MSSQLSERVER。

2. 啟用 SQL Server Browser 服務

  1. 同工具 → 展開「SQL Server Browser」→「服務」→ 啟動類型設「自動」→ 啟動服務。
  2. Browser 解析具名執行個體名稱至連接埠,遠端連線具名執行個體 (如 Server\SQLEXPRESS) 必須啟用。

3. Windows 防火牆建立 sqlservr.exe 例外

  1. 控制台 → Windows 防火牆 → 例外 → 「新增程式」→ 瀏覽選取 sqlservr.exe (路徑含實例 ID,如 MSSQL.1)。
  2. 範圍可限定為區域網路段。

4. Windows 防火牆建立 sqlbrowser.exe 例外

  1. 同樣新增程式 → 選取 sqlbrowser.exe (通常在 C:\Program Files\Microsoft SQL Server\90\Shared\)。

故障四:IP 連線失敗但 localhost/機器名正常 — 協定順序與 TCP/IP 啟用

現象:用 IP 連不上,用 localhost 或機器名卻可連。

解法:在「表面區域配置工具」遠端連線設定中,務必同時啟用 TCP/IP 與 Named Pipes,並確認用戶端「用戶端網路公用程式」中 TCP/IP 協定啟用且預設連接埠 1433。

快速驗證清單

檢查項目命令/工具預期結果
服務啟動services.msc / SQL Server Configuration ManagerMSSQLSERVER / SQL Browser = Running
TCP 1433 監聽netstat -an | findstr 14330.0.0.0:1433 LISTENING
遠端 Telnettelnet <ServerIP> 1433連線成功 (閃爍游標)
防火牆例外wf.msc / 控制台防火牆sqlservr.exe, sqlbrowser.exe 皆在例外清單
VIA 協定Configuration Manager已停用
資料夾壓縮DATA 目錄屬性→進階未勾選壓縮

總結

SQL Server 2005 遠端連線問題 90% 集中在:VIA 衝突、壓縮資料夾、Browser 未啟、防火牆缺例外、協定未全開。依本文清單逐項排查,通常 15 分鐘內即可解決。升級至 SQL Server 2008+ 後,表面區域工具整合至 Configuration Manager,邏輯一致,操作更簡潔。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved