錯誤現象
伺服器重裝 SQL Server 2005 後,為安全考量設定服務以獨立網域帳戶執行,權限配置無誤,但啟動服務或操作時彈出 WMI 提供者錯誤:
警告: 您還有 %1 的時間登出,如果您在此時間到之後仍沒有登出,您的工作階段將會中斷,任何開啟的檔案或裝置就可能遺失資料。 [0x80070d59]
根本原因分析
此錯誤通常源於以下三類問題:
- 目錄權限遺漏:SQL Server 服務帳戶需擁有資料、記錄、備份等目錄的完整控制權,每一層目錄都必須檢查權限繼承
- 帳戶密碼錯誤或過期:若密碼變更未同步更新服務登入資訊,會導致驗證失敗
- 服務依賴未就緒:相依服務(如 WMI、DCOM)未正常啟動
解決步驟
1. 完整權限稽核
- 資料庫檔案目錄(預設:
C:\Program Files\Microsoft SQL Server\MSSQL.x\MSSQL\Data)
- 錯誤記錄目錄(
Log 子目錄)
- 備份目錄、暫存目錄(
TempDB 所在路徑)
- 確認服務帳戶擁有 完全控制 權限,且權限已正確繼承至子物件
2. 重設服務帳戶密碼
- 開啟 SQL Server 組態管理員
- 選取 SQL Server 服務,右鍵目標執行個體 → 內容
- 切換至 登入 索引標籤,重新輸入正確密碼
- 套用變更,服務會提示重新啟動
3. 重啟伺服器驗證
若上述步驟均無效,建議重啟實體/虛擬伺服器,確保所有相依服務正常啟動後,再次嘗試啟動 SQL Server 服務。
預防建議
- 使用專屬服務帳戶(非個人帳戶),設定密碼永不過期
- 部署自動化腳本驗證關鍵目錄權限
- 建立服務帳戶密碼變更的標準作業程序(SOP),包含同步更新 SQL Server 服務登入資訊
徹底檢查目錄權限與帳戶憑證,多數 WMI 提供者錯誤即可解決;若持續發生,請檢查事件檢視器中的 System 與 Application 記錄尋找更詳細的錯誤代碼。