透過控制台「程式和功能」移除 SQL Server 2005,往往遺留:
HKLM\Software\Microsoft\Microsoft SQL Server、HKLM\Software\Microsoft\MSSQLServer)C:\Program Files\Microsoft SQL Server\、C:\Program Files (x86)\Microsoft SQL Server\)C:\Program Files\Microsoft SQL Server\MSSQL.x\MSSQL\Data\)殘留物會導致後續安裝新版本失敗、升級阻擋、或服務衝突。官方支援的命令列安靜解除安裝能較完整反轉安裝動作。
D:\Setup.exe /qb REMOVE=ALL INSTANCENAME=
| 參數 | 說明 |
|---|---|
/qb |
基本使用者介面 (顯示進度條,無需互動)。/qn 為完全無訊息。 |
REMOVE=ALL |
移除該實例的所有功能 (Database Engine, SSIS, SSAS, SSRS, Tools, Client Tools 等)。 |
INSTANCENAME |
指定要移除的實例名稱。預設實例為 MSSQLSERVER;具名實例為安裝時指定的名稱 (如 SQL2005)。 |
:: 移除預設實例
D:\Setup.exe /qb REMOVE=ALL INSTANCENAME=MSSQLSERVER
:: 移除具名實例 SQL2005
D:\Setup.exe /qb REMOVE=ALL INSTANCENAME=SQL2005
Setup.exe,版本必須與安裝實例完全一致 (含 SP/CU 版本)。命令列解除安裝仍可能遺留部分項目,建議依序手動清理:
:: 64 位元
RD /S /Q "C:\Program Files\Microsoft SQL Server\90"
RD /S /Q "C:\Program Files\Microsoft SQL Server\MSSQL.1" (實例目錄)
:: 32 位元 (WoW64)
RD /S /Q "C:\Program Files (x86)\Microsoft SQL Server\90"
:: 實例專屬
REG DELETE "HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1" /f
REG DELETE "HKLM\Software\Microsoft\MSSQLServer" /f
:: 共用元件 (謹慎,可能影響其他實例)
REG DELETE "HKLM\Software\Microsoft\Microsoft SQL Server\90" /f
SC DELETE "MSSQLSERVER" :: 預設實例 Database Engine
SC DELETE "SQLSERVERAGENT" :: Agent
SC DELETE "SQLBrowser" :: 瀏覽器 (共用,若無其他實例可刪)
SC DELETE "SQLWriter" :: VSS Writer (共用)
SC DELETE "MSSQLServerOLAPService" :: Analysis Services
SC DELETE "ReportServer" :: Reporting Services
:: 預設實例資料目錄
RD /S /Q "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data"
lodctr /R :: 重建所有效能計數器,修復解除安裝導致的計數器遺失
INSTANCENAME 的實例,共用元件 (Client Tools, Integration Services, SQL Browser, SQL Writer 等) 若仍有其他實例使用,不會被移除。MSSQL.x (x 為安裝順序編號),需對應正確目錄清理。services.msc 確認無 SQL Server 相關服務。regedit 搜尋 MSSQLServer、Microsoft SQL Server 確認殘留機碼。Program Files 目錄確認無 SQL Server 資料夾。SQL Server 2005 徹底移除的關鍵在於:使用原版媒體 Setup.exe /qb REMOVE=ALL INSTANCENAME=... 執行官方反安裝,隨後手動清理殘留目錄、登錄、服務、效能計數器。多實例環境下務必確認共用元件相依性,避免誤刪導致其他實例損壞。建議將上述步驟封裝為 PowerShell 腳本納入基礎設施自動化流程,確保一致性與可審計性。