SQL Server 啟動失敗主因在於 LocalSystem 帳號與 Administrators 群組對關鍵註冊表項缺乏完全控制權限,導致 SQLExecutive 服務無法正確登入。
regedt32.exe(非 regedit,支援權限編輯)HKEY_LOCAL_MACHINE,最大化視窗
1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLExecutive
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLExecutive
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer\SQLExecutive
註冊表中 ServerHost 值包含伺服器名稱,與 Named Pipes 協定衝突導致啟動失效。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLExecutiveServerHost 字串值| 層級 | 現象 | 常見原因 |
|---|---|---|
| 部分任務失敗 | 個別作業錯誤 | 權限、鎖定、語法錯誤 |
| 全部任務失敗 | 服務完全無法啟動 | 註冊表權限、Named Pipes 衝突、啟動參數錯誤 |
ERRORLOG)具體錯誤代碼MSSQLSERVER 服務啟動帳號密碼正確、未鎖定netstat -an | findstr 1433)sqlservr.exe -c -f(最小配置模式)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer 分支