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

SQL Server 組態管理器無法連接 WMI 提供者錯誤完整排查指南(4 種方案實測)

     編輯:關於SqlServer

錯誤現象

打開 SQL Server 組態管理器報錯:「無法連接到 WMI 提供者」,無法管理服務/網路設定。

四種解決方案(按成功率排序)

方案一:重新編譯 MOF 檔(最標準、成功率最高)

  1. 以管理員身分開啟 CMD。
  2. 切換至 SQL 共用組件目錄(版本號對應調整):
    cd "C:\Program Files\Microsoft SQL Server\<版本號>\Shared"
    • SQL 2005 → 90
    • SQL 2008/R2 → 100
    • SQL 2012 → 110
    • SQL 2014 → 120
    • SQL 2016 → 130
    • SQL 2017 → 140
    • SQL 2019 → 150
  3. 執行編譯命令:
    mofcomp "sqlmgmprovider.mof"

    (舊版可能為 sqlmgmproviderxpsp2up.mof,以實際檔名為準)

  4. 輸出 MOF file has been successfully parsed 即成功。
  5. 重開組態管理器驗證。

常見卡點: 提示 'mofcomp' 不是內部命令 → 環境變數 Path 加入 %SystemRoot%\System32\wbem。

方案二:檢查/補齊 framedyn.dll

  1. 檢查 C:\Windows\System32\framedyn.dll 是否存在。
  2. 不存在則從 C:\Windows\System32\wbem\framedyn.dll 複製過去。
  3. 註冊:regsvr32 framedyn.dll。

原理:WMI 核心依賴此 DLL,缺失導致提供者載入失敗。

方案三:授權 Network Service 存取權限

  1. 右鍵「此電腦」→「管理」→「本地用戶和群組」→「群組」→「Administrators」。
  2. 「新增」→「進階」→「立即查找」→ 選 Network Service → 確定加入。
  3. 或直接給 Shared 目錄授權:
    icacls "C:\Program Files\Microsoft SQL Server\<版本>\Shared" /grant "Network Service":(OI)(CI)R

方案四:啟動核心 SQL 服務(最簡單、常被忽略)

  1. 開啟 services.msc。
  2. 啟動 SQL Server (MSSQLSERVER) 與 SQL Server Browser 服務。
  3. 設為「自動」啟動類型。

實測: 本文作者最終靠方案四解決 —— 服務未啟動導致 WMI 查詢無響應。

排查建議順序

  1. 先確認 SQL 服務是否運行(方案四,成本最低)。
  2. 再試 MOF 重編譯(方案一,治本)。
  3. 檢查 framedyn.dll(方案二,環境修復)。
  4. 權限授予(方案三,權限問題)。

總結

WMI 提供者錯誤多因服務未啟動、MOF 損壞、DLL 缺失、權限不足。按「服務 → MOF → DLL → 權限」順序排查,通常 5 分鐘內解決。

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