SQL Server 2005 在 Windows 8/8.1 上存在相容性問題:安裝過程中服務啟動失敗,即便強制完成亦無法正常運行。本文提供臨時檔案替換方案:安裝至服務啟動失敗步驟 → 替換 `sqlservr.exe`、`sqlos.dll` 為 SP4 版本 → 停止服務 → 還原原檔 → 打 SP4 修補程式 → 重啟,實現勉強可用。強烈建議生產環境升級 SQL Server 2008 R2/2012/2014/2016/2019/2022 獲得原生支援。
前置說明
- 測試環境:64 位元 Windows 8.1,SQL Server 2005 開發版 (x64)。
- 核心問題:RTM 版 `sqlservr.exe`/`sqlos.dll` 在 Win8.1 核心上無法正確啟動服務控制管理器通訊。
- 方案本質:以 SP4 版本核心二進位檔替換,利用 SP4 修補程式完成註冊表/登錄修正。
詳細步驟
- 執行安裝程式,相容性警告選「執行程式而不取得說明」。
- 選擇 64 位元安裝。
- 選擇需求服務元件(資料庫引擎、完整文字搜尋等)。
- 選擇內建系統帳戶(Local System/Network Service)。
- 選擇混合模式驗證,設定 `sa` 密碼。
- 出現「SQL Server 2005 無法啟動」對話框 → 暫不點擊重試/取消,保持視窗開啟。
- 前往安裝目錄 `C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn`,備份並重新命名 `sqlservr.exe`、`sqlos.dll`(如加 `.bak` 後綴)。
- 複製 SQL Server 2005 SP4 版本的 `sqlservr.exe`、`sqlos.dll` 覆蓋至該目錄。
- 開啟「電腦管理」→「SQL Server 組態管理員」→ 禁用 SQL Server 2005 相關服務(強制停止)。
- 將第 7 步驟備份的原始檔案(`.bak`)移除副檔名覆蓋回去(還原 RTM 版二進位檔)。
- 立即執行 SQL Server 2005 SP4 修補程式安裝(完整修補程式,非 Express 版)。
- 重新啟動電腦,SQL Server 2005 管理工具可正常啟動,服務運行穩定。

▐ 相容性警告選擇


▐ 選擇 64 位元安裝

▐ 選擇服務元件

▐ 選擇內建系統帳戶

▐ 混合模式驗證設定 sa 密碼

▐ 服務啟動失敗對話框(暫不關閉)

▐ Binn 目錄替換 sqlservr.exe/sqlos.dll

▐ SQL Server 組態管理員禁用服務


▐ 還原原檔 → 打 SP4 修補程式

▐ 重啟後管理工具正常啟動
風險與建議
- 此方案屬「以毒攻毒」臨時手段,可能引發未知穩定性/安全性問題,嚴禁用於生產環境。
- SQL Server 2005 主流支援 2011 年結束,延伸支援 2016 年結束,無任何安全性更新。
- 請規劃遷移至 SQL Server 2012/2014/2016/2017/2019/2022,獲得原生 Win8.1/Win10/Win11 支援、AlwaysOn、記憶體內 OLTP、圖形資料處理等現代特性。
檔案替換法可讓舊專案在 Win8.1 上暫時跑通驗證,但長遠來看,資料庫平台升級才是正道。