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

系統重裝後 SQL Server 服務消失:透過登錄手動重建 MSSQLSERVER 服務

     編輯:關於SqlServer

問題背景

作業系統重裝後,原安裝在 D 槽的 SQL Server 執行檔保留,但服務控制管理器 (SCM) 中的服務項目遺失,導致 SQL Server 服務管理器顯示「指定的服務未安裝」。無安裝媒體時,可手動重建服務登錄項。

前置條件

  • 確認 sqlservr.exe 完整路徑(例:D:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlservr.exe)。
  • 以系統管理員身分執行 regedit。

登錄重建步驟

  1. 開啟 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。
  2. 新增機碼 MSSQLSERVER。
  3. 在右側建立以下值(根據實際路徑調整):
值名稱類型範例資料
TypeREG_DWORD0x00000010 (16 = 獨立程序服務)
StartREG_DWORD0x00000002 (2 = 自動啟動)
ErrorControlREG_DWORD0x00000001 (1 = 正常錯誤控制)
ImagePathREG_EXPAND_SZD:\Program Files\Microsoft SQL Server\MSSQL\Binn\sqlservr.exe
DisplayNameREG_SZMSSQLSERVER
ObjectNameREG_SZLocalSystem (或網域服務帳號)
  1. 在 MSSQLSERVER 下建立子機碼:Linkage、Performance、Security、Enum。
  2. 匯入完整 .reg 檔(見下方),重新開機。

完整 .reg 檔案內容(請依實際路徑修改)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):44,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,53,00,51,00,4c,00,20,00,53,00,65,00,72,00,76,00,65,00,72,00,5c,00,4d,00,53,00,53,00,51,00,4c,00,5c,00,42,00,69,00,6e,00,6e,00,5c,00,73,00,71,00,6c,00,73,00,65,00,72,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00
"DisplayName"="MSSQLSERVER"
"ObjectName"="LocalSystem"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\Linkage]
"Export"=hex(7):4d,00,53,00,53,00,51,00,4c,00,53,00,45,00,52,00,56,00,45,00,52,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\Performance]
"Library"="D:\\PROGRA~1\\MSSQL\\BINN\\SQLCTR80.DLL"
"Collect"="CollectSQLPerformanceData"
"Open"="OpenSQLPerformanceData"
"Close"="CloseSQLPerformanceData"
"PerfIniFile"="sqlctr.ini"
"Last Counter"=dword:000010c2
"Last Help"=dword:000010c3
"First Counter"=dword:00000fae
"First Help"=dword:00000faf
"WbemAdapFileSignature"=hex:d6,a0,b9,c1,d1,85,78,63,4f,31,8b,f2,18,51,1a,5d
"WbemAdapFileTime"=hex:24,a2,b9,6d,3b,7d,c6,01
"WbemAdapFileSize"=dword:0000803b
"WbemAdapStatus"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\Security]
"Security"=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00,00,30,00,00,00,02,00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,00,01,00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\Enum]
"0"="Root\\LEGACY_MSSQLSERVER\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001

驗證與後續

  1. 重開機後,services.msc 應出現 MSSQLSERVER 服務,狀態為「已啟動」。
  2. SQL Server 服務管理器可正常辨識並控制。
  3. 企業管理員 / SSMS 可連線。
  4. 建議:儘快安裝對應版本的 Service Pack / CU,修補潛在安全性漏洞。

替代方案

若有安裝媒體,執行 修復安裝 更完整(會重建登錄、效能計數器、WMI 提供者、檔案關聯)。手動登錄僅適用緊急救援。

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