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

解決 SQL Server 服務遠程過程調用失敗

     編輯:MySQL 綜合教學

常見錯誤現象

  • 啟動 SQL Server 服務時提示「遠程過程調用失敗」(RPC failed / 0x800706BE)
  • SQL Server Configuration Manager 開啟失敗:WMI 提供者錯誤
  • 連線資料庫報錯:0x800706BA - RPC 伺服器不可用

核心排查步驟

1. 確認核心服務運行狀態

# 服務名稱
- SQL Server (MSSQLSERVER)
- SQL Server Agent
- SQL Server Browser
- Remote Procedure Call (RPC) / RPC Locator
- DCOM Server Process Launcher
- Windows Management Instrumentation (WMI)

在 services.msc 中確認上述服務均為 運行中、啟動類型為 自動。

2. 檢查 DCOM 權限設定

  1. 執行 dcomcnfg
  2. 展開 元件服務 → 電腦 → 我的電腦 → DCOM 設定
  3. 找 SQL Server Integration Services 13.0/14.0/15.0(視版本)
  4. 右鍵 → 內容 → 安全性 分頁:
  • 啟動及啟用權限:編輯 → 加入 Everyone / ANONYMOUS LOGON / NETWORK SERVICE / 具體服務帳號 → 勾選 本機啟用、本機啟動
  • 存取權限:同樣加入上述帳號 → 勾選 本機存取、遠端存取
  • 設定值:身分識別選 互動式使用者 或指定服務帳號

3. 修復 WMI 儲存庫(解決 Configuration Manager 錯誤)

# 以管理員身份執行 cmd
winmgmt /verifyrepository
winmgmt /salvagerepository
# 若仍失敗
winmgmt /resetrepository
# 需重啟 WMI 服務:net stop winmgmt && net start winmgmt

4. 防火牆與網路設定

  • 開放 TCP 135 (RPC Endpoint Mapper)、TCP 445 (SMB)、動態 RPC 連接埠範圍(預設 49152-65535)
  • SQL Server 固定連接埠(預設 1433)需在防火牆入站規則允許
  • 執行 netsh advfirewall firewall add rule name="SQL Server RPC" dir=in action=allow protocol=TCP localport=135,445,1433,49152-65535

5. 註冊表檢查(進階)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
# 確認 TcpPort = 1433, TcpDynamicPorts = 0 (固定埠)

6. 重新註冊 WMI 提供者

cd "C:\Program Files\Microsoft SQL Server\130\Shared"
mofcomp sqlmgmproviderxpsp2up.mof
# 版本路徑依實際安裝調整 (130=2016, 140=2017, 150=2019)

典型場景對應解法

場景最可能原因優先處理
服務啟動即停止,事件日誌 RPC 錯誤DCOM 啟動權限缺失步驟 2
Configuration Manager 打不開,WMI 錯誤WMI 儲存庫損毀步驟 3
本機連得上,遠端連不上防火牆阻擋 RPC 動態埠 / SQL Browser 未啟動步驟 4 + 啟動 SQL Browser
叢集/可用性群組環境網路名稱資源/叢集 RPC 依賴檢查叢集網路、DNS、SPN

預防性維護

  1. 定期檢查服務啟動類型與狀態(監控腳本)
  2. 服務帳號密碼變更後,同步更新 DCOM 身分識別與 SQL 服務登入帳號
  3. Windows Update 後驗證 SQL 服務正常(部分更新會重置 DCOM 權限)
  4. 啟用 SQL Server 錯誤日誌與 Windows 事件日誌轉發至 SIEM

總結

SQL Server RPC 失敗本質是 DCOM 權限、WMI 完整性、防火牆連接埠 三大支柱問題。依序驗證服務狀態 → DCOM 權限 → WMI 儲存庫 → 防火牆 → 註冊表/提供者註冊,可解決 95% 以上案例。叢集環境額外關注網路名稱資源與 SPN 設定。

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