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

SQL Server 2005 安裝失敗錯誤 -2146233087 根因分析與註冊表權限修復實錄

     編輯:關於SqlServer

錯誤現象

  • 環境:Windows Server 2003 SP1/SP2 + SQL Server 2005 Enterprise (MSDN 下載)。
  • 步驟:安裝 **Integration Services** 失敗,錯誤碼 -2146233087 (0x80131501)。
  • 訊息:無法在 COM+ 目錄中安裝和配置組件 Microsoft.SqlServer.MSMQTask.dll ... 要執行此任務,您必須具有管理憑據。

排查歷程 (避坑指南)

  1. MSDTC 帳號檢查: 確認 Network Service 啟動,**非此問題**。
  2. C:\Windows\Registration 目錄權限授予 Administrators 完全控制,**無效**。
  3. 安裝日志分析、**COPY 到硬碟安裝**、**重新安裝 COM+ 組件**、**手動 regsvcs 註冊** 均失敗,同樣報「存取被拒絕」。
  4. **RegMon (Process Monitor) 監控 regsvcs.exe**:
    關鍵日誌:
    OpenKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask Access DENIED
    CreateKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask Access DENIED
    **鎖定問題:Administrators 群組對特定 HKCR 子機碼缺乏「完全控制」與「讀取」權限。**

根因與修復

**註冊表機碼權限遺失/錯誤**,導致 COM+ 組件註冊失敗。逐一授權以下機碼給 Administrators **完全控制**:

  • HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask
  • HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.EncryptionAlgorithmWrapper
  • HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.ServCompMQTask
  • HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.Formatter
  • HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.DataFileMessage (初始報錯機碼)

操作:`regedit` → 定位機碼 → 右鍵「權限」 → 確保 Administrators 擁有 **完全控制** → 套用。

驗證成功

C:\Windows\Microsoft.NET\Framework\v2.0.50727>regsvcs.exe "C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\Microsoft.SqlServer.MSMQTask.dll"
... 
已安裝的組件: Microsoft.SqlServer.MSMQTask
TypeLib: ... Microsoft.SqlServer.MSMQTask.tlb

再開 `dcomcnfg` → 元件服務 → 我的電腦 → COM+ 應用程式 → **出現 Microsoft.SqlServer.MSMQTask 節點**,證明註冊成功。

核心教訓

  1. **錯誤訊息「管理憑據」實指註冊表機碼權限**,非 OS 登入權限。
  2. **RegMon/ProcMon 是診斷「存取被拒絕」類安裝失敗的終極工具**,直擊系統呼叫層面。
  3. 安裝失敗可選「忽略」完成其餘組件,**事後補註冊** 同樣有效 (本案驗證)。
  4. 微軟支援工程師排查邏輯:MSDTC → 安裝日志 → 硬碟安裝 → COM+ 重裝 → 手動註冊 → **註冊表權限**,層層遞進,值得學習。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved