故障現象
在 SQL Server 配置管理器中手動停止 MSSQLSERVER 服務後,再次啟動失敗,報錯截圖顯示權限相關錯誤。
核心修復:授予服務賬號完全控制權限
- 右鍵 SQL Server 安裝目錄(默認
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL) → 屬性 → 安全。
- 編輯 → 添加 → 高級 → 立即查找 → 選中 **Everyone**(或具體服務賬號如
NT Service\MSSQLSERVER)。
- 勾選 **完全控制**(除特殊權限外所有允許)。
- 確定保存,返回配置管理器重啟服務。
深層原因
- 服務啟動需讀寫數據文件、日志文件、錯誤日志目錄、備份目錄等。
- 手動停止/啟動可能觸發文件鎖釋放不完全、ACL 繼承異常。
- 部分安全軟件/組策略會收緊權限導致服務賬號無法訪問自身數據目錄。
預防與最佳實踐
- 安裝時選擇 **虛擬賬號** 或 **受管理服務賬號 (gMSA)**,避免手動密碼管理。
- 數據/日志文件放置於非系統盤,單獨配置 ACL。
- 定期運行
sqlserver.exe /f /T3608 檢查啟動狀態,或配置服務恢復動作為「重新啟動服務」。
- 生產環境啟用 AlwaysOn 可用性組,避免單點故障。
權限問題看似簡單,實則是 Windows ACL、服務隔離、文件鎖多機制交織的典型故障點。