-- 服務管理器 (services.msc) 或命令列
net stop "SQL Server (MSSQLSERVER)"
net stop "SQL Server Agent (MSSQLSERVER)"
net stop "SQL Server FullText Search (MSSQLSERVER)"
net stop "SQL Server Browser"
net stop "SQL Server VSS Writer"
-- 確認全部停止
sc query state= all | findstr /i sql
註冊表移除服務定義:
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\MSSQLSERVER" /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT" /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\MSSQLFDLauncher" /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\SQLBrowser" /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\SQLWriter" /f
-- 視實際服務名稱調整 (命名實例為 MSSQL$InstanceName)
reg delete "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server" /f
reg delete "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server 2005 Redist" /f
reg delete "HKLM\SOFTWARE\Microsoft\MSSQLServer" /f
-- 64 位元系統另需清理 Wow6432Node
reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server 2005 Redist" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer" /f
釋放檔案鎖定、重置註冊表快取、確保服務控制管理器狀態乾淨。
此時安裝應順利通過實例名稱檢查。
| 現象 | 原因 | 解決 |
|---|---|---|
| 安裝報 SQLXML4 錯誤 | 舊版 SQLXML4 殘留衝突 | 控制台「新增/移除程式」解除安裝 SQLXML4,再重裝 SQL |
| Windows 2003 SP2 無法安裝 | Windows Installer / MSXML 6.0 Parser (6.00.3883.8) 損毀 | 下載 Windows Installer CleanUp Utility (msicuu2.exe) 清除 MSXML 6.0 相關安裝資訊,或修復/重裝 MSXML 6.0 SP2 |
| 卸載卡住/報錯 1603/1714 | 安裝程式殘留鎖定、檔案被佔用 | 安全模式下執行上述清理步驟,或使用 Microsoft Fix it (已下線) 替代工具 |
SQL Server 2005 非正常卸載殘留主要集中在 **服務註冊表 (CurrentControlSet\Services)** 與 **產品註冊表 (SOFTWARE\Microsoft\...)**。依循「停服務 → 刪服務註冊 → 刪產品註冊 → 重啟 → 重裝」四步驟,配合伴隨問題對症處理,可 100% 解決重裝失敗。核心原則:**乾淨環境源於徹底清理,而非覆蓋安裝**。