控制台「新增/移除程式」標準解除安裝常留下殘留檔案與註冊表,導致重新安裝失敗。本文提供經實測驗證的完整手工卸載流程。
regedit,定位:HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\UninstallC:\WINNT\IsUninst.exe -f "C:\Program Files\Microsoft SQL Server\MSSQL$Server1\Uninst.is"
-c "C:\Program Files\Microsoft SQL Server\MSSQL$Server1\sqlsun.dll" -Mssql.miff I=Il
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServerADHelper
C:\Program Files\Microsoft SQL Server\ (預設路徑)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSCNTRS
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSEARCH
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGATHERVER
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGTHRSVC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSINDEX
上述服務機碼路徑後加 \InstanceName,例如 MSSQLServer\MyInstance。
regedit → 檔案 → 匯出master, model, msdb, user databases| 位置 | 常見殘留 |
|---|---|
| 登入帳戶 | SQL Server 服務帳戶未從本地用戶組移除 |
| 防火牆規則 | TCP 1433/1434 例外規則未刪除 |
| 效能計數器 | lodctr /u 移除 SQL Server 計數器 |
| 事件檢視器 | 事件來源 MSSQLServer、SQLSERVERAGENT 未清除 |
手工卸載屬於破壞性操作,生產環境務必先在測試機驗證流程。現代版本 (2008+) 建議使用安裝媒體的
Setup /Action=Uninstall參數化卸載。