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

SQL Server 2005 徹底移除指南:命令列安靜解除安裝與殘留清理

     編輯:關於SqlServer

前言:為什麼「新增/移除程式」不夠?

透過控制台「程式和功能」移除 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\)
  • Windows 服務 (SQL Server、SQL Browser、SQL Writer、Reporting Services 等)
  • 效能計數器、WMI 提供者、MSDTC 設定

殘留物會導致後續安裝新版本失敗、升級阻擋、或服務衝突。官方支援的命令列安靜解除安裝能較完整反轉安裝動作。

一、官方命令列解除安裝語法


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

二、執行前置檢查

  1. 備份資料庫:解除安裝不會自動備份使用者資料庫,必須先手動備份或確認資料可捨棄。
  2. 停用相依服務:確認無應用程式、Agent 作業、連結伺服器正在使用該實例。
  3. 系統管理員權限:以「以系統管理員身分執行」開啟 CMD/PowerShell。
  4. 安裝媒體:使用原版安裝媒體 (ISO 掛載或解壓目錄) 的 Setup.exe,版本必須與安裝實例完全一致 (含 SP/CU 版本)。

三、解除安裝後的手動清理 (必要補充)

命令列解除安裝仍可能遺留部分項目,建議依序手動清理:

1. 共用元件目錄


:: 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"

2. 登錄機碼


:: 實例專屬
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

3. Windows 服務


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

4. 資料與記錄檔 (視需求保留或刪除)


:: 預設實例資料目錄
RD /S /Q "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data"

5. 效能計數器重建


lodctr /R   :: 重建所有效能計數器,修復解除安裝導致的計數器遺失

四、多實例環境注意事項

  • 僅移除指定 INSTANCENAME 的實例,共用元件 (Client Tools, Integration Services, SQL Browser, SQL Writer 等) 若仍有其他實例使用,不會被移除。
  • 若要移除最後一個實例並連帶清除共用元件,需在最後一個實例移除後,額外執行共用元件解除安裝 (或手動清理)。
  • 具名實例的資料目錄通常為 MSSQL.x (x 為安裝順序編號),需對應正確目錄清理。

五、驗證移除完整性

  1. services.msc 確認無 SQL Server 相關服務。
  2. SSMS 連線嘗試應失敗 (找不到伺服器/實例)。
  3. regedit 搜尋 MSSQLServer、Microsoft SQL Server 確認殘留機碼。
  4. Program Files 目錄確認無 SQL Server 資料夾。
  5. 控制台「程式和功能」不再列出 SQL Server 2005 相關項目。

結語

SQL Server 2005 徹底移除的關鍵在於:使用原版媒體 Setup.exe /qb REMOVE=ALL INSTANCENAME=... 執行官方反安裝,隨後手動清理殘留目錄、登錄、服務、效能計數器。多實例環境下務必確認共用元件相依性,避免誤刪導致其他實例損壞。建議將上述步驟封裝為 PowerShell 腳本納入基礎設施自動化流程,確保一致性與可審計性。

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