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

解決 SQL Server 2008 R2 設定管理器「遠端程序呼叫失敗 (0x800706be)」與服務啟動衝突問題

     編輯:SQL Server 2008

在同時安裝 Visual Studio 2012 (含 LocalDB) 與 SQL Server 2008 R2 的電腦上,打開「電腦管理 → 服務」或 SQL Server 設定管理器查看 SQL Server 服務時,出現 遠端程序呼叫失敗 (0x800706be),無法檢視/管理服務。本文提供根因分析與解決步驟:移除衝突的 LocalDB、重新整理服務清單、處理連接埠佔用導致的服務啟動失敗。

現象

  • 「電腦管理 → 服務與應用程式 → SQL Server 服務」顯示錯誤圖示,無法展開。
  • SQL Server 設定管理器同樣報「遠端程序呼叫失敗」。

RPC 失敗錯誤

根因

**VS 2012 安裝的 Microsoft SQL Server Express 2012 LocalDB 與 SQL Server 2008 R2 的 WMI 提供者版本衝突**,導致 SQL Server 管理工具無法正常列舉服務。

解決步驟

1. 移除衝突的 LocalDB

  1. 開啟 控制台 → 程式與功能 (或第三方卸載工具)。
  2. 尋找 Microsoft SQL Server Express 2012 LocalDB。
  3. 右鍵 → 解除安裝。

解除安裝 LocalDB

2. 重新整理服務清單

  • 回到「電腦管理 → 服務」,按 F5 重新整理。
  • SQL Server 服務清單 (MSSQLSERVER, SQLSERVERAGENT, SQLBrowser 等) 應正常顯示。

服務清單恢復正常

3. 啟動 SQL Server (MSSQLSERVER) 服務

  • 右鍵 SQL Server (MSSQLSERVER) → 啟動。

4. 處理「連接埠佔用」導致的啟動失敗

若啟動後仍失敗,檢視 Windows 事件檢視器 (系統日誌) 會發現 TCP 連接埠 1433 已被佔用 (通常是 SQLEXPRESS 執行個體搶佔)。

服務啟動失敗

解決:停用/移除衝突的 Express 執行個體服務

  1. 在服務清單中找到 SQL Server (SQLEXPRESS)、SQL Server Agent (SQLEXPRESS)、SQL Browser (若非必要)。
  2. 將它們 **停止** 並設定啟動類型為 手動 或 停用。
  3. 確保同一時間只有一個資料庫引擎實例佔用 TCP 1433。

停用 SQLEXPRESS 服務

5. 再次啟動 MSSQLSERVER

  • 右鍵 SQL Server (MSSQLSERVER) → 啟動,應成功進入「執行中」狀態。

驗證

  1. 開啟 SSMS,以 sa 或 Windows 驗證連線 . 或 (local)。
  2. 連線成功,物件總管正常顯示。

預防建議

  • 開發機若需共存多版本 SQL Server,**安裝順序建議:舊版先裝,新版後裝** (或使用容器/虛擬機隔離)。
  • VS 2012+ 安裝時可選擇**不安裝 LocalDB** (自訂安裝取消勾選)。
  • 若必須共存,規劃不同執行個體使用不同連接埠 (透過設定管理員修改),並確保 SQL Browser 服務正常運行。

移除 LocalDB 衝突、釋放連接埠 1433,即可徹底解決 SQL Server 2008 R2 設定管理器 RPC 失效與服務啟動失敗問題。

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