客戶伺服器非正常斷電導致 SQL Server 服務無法啟動,事件檢視器記錄錯誤代碼 3414:An error occurred during recovery... The database 'model' cannot be opened...。本文記錄以健全機器複製 `model.mdf`/`modellog.ldf` 覆蓋損壞檔案的極速修復流程。
錯誤現象
- 服務管理員 (services.msc) 啟動 SQL Server (MSSQLSERVER) 失敗,彈出「錯誤 3414」。
- SQL Server 組態管理器啟動服務同樣失敗。
- 錯誤日誌 (`ERRORLOG`) 顯示 `model` 資料庫復原失敗、檔案損毀。

快速排查步驟 (先嘗試)
- SQL Server 組態管理器 → SQL Server 網路設定 → 協定 → 啟用 Named Pipes、TCP/IP。
2. 嘗試重新啟動服務。


根因確認:model 系統資料庫檔案損壞
若上述無效,且伺服器近期有非正常斷電、磁碟故障、殺毒軟體隔離檔案歷史,極大機率為 `model` 資料庫檔案損壞。`model` 是所有新資料庫的範本,損壞會導致服務啟動階段復原失敗。
修復方案:複製健全 model 檔案覆蓋
- 尋找同版本、同版次、相同修補程式層級的健全 SQL Server 執行個體 (可為測試機、同叢集其他節點)。
2. 複製以下兩檔:
- `model.mdf`
- `modellog.ldf`
來源路徑範例:`C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\`
3. 停止故障機器 SQL Server 服務。
4. 將複製的檔案貼上覆蓋故障機器同路徑下的損壞檔案 (建議先備份原檔改名 `.bak`)。
5. 啟動 SQL Server 服務 → 應可正常啟動。
驗證與後續
- 服務啟動成功後,SSMS 連線測試正常。
- 執行 `DBCC CHECKDB(model)` 確認邏輯完整性。
- 檢查 `tempdb` 是否自動重建 (每次啟動自動重建,通常無問題)。
- 若 `master`/`msdb` 同時損壞,需執行 重建系統資料庫 (setup /ACTION=REBUILDDATABASE),參考 master 災難恢復。
預防建議
- 生產環境配置 UPS 不斷電系統,避免非正常斷電。
- 資料/記錄檔放置於 RAID 陣列/企業級 SSD,啟用寫入快取保護 (電池備援)。
- 定期 `DBCC CHECKDB` 系統資料庫 (含 model),及早發現損壞。
- 備份策略納入系統資料庫 (master、model、msdb) 完整備份。
掌握「健全機器複製 model 檔案覆蓋」技巧,可在 10 分鐘內解決斷電導致的 SQL Server 3414 啟動失效,將停機時間壓縮至最低。