萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

IIS 中繼資料庫存取失敗與虛擬目錄權限問題完整解決方案

IIS 6.0/7.x 常見兩類權限錯誤:虛擬目錄檔案存取被拒、IIS 中繼資料庫存取失敗。本文提供圖形介面權限向導修復與命令列註冊 ASP.NET 兩套標準解決流程。

問題一:虛擬目錄權限不足 — 權限向導修復

  1. IIS 管理員 → 展開網站 → 以滑鼠右鍵點選目標虛擬目錄 → 「所有工作」→「權限精靈」。
  2. 「下一步」→ 選擇「繼承所有安全性設定」→「下一步」。
  3. 選擇「取代所有目錄和檔案的存取權限 (建議)」→「下一步」→「完成」。
  4. 此操作將遞歸重設 NTFS ACL,解決寫入/執行被拒問題。

問題二:存取 IIS 中繼資料庫失敗 — ASP.NET 重新註冊

現象:ASP.NET 應用程式啟動報錯「無法存取 IIS 中繼資料庫」、事件檢視器記錄 ASP.NET 2.0.50727.0 錯誤。

原因:.NET Framework 安裝順序早於 IIS,或 IIS 重裝導致 ASP.NET ISAPI 對應遺失。

方法一:命令列註冊 (標準修復)

  1. 按 Win+R → 輸入 cmd → 以管理員身分執行。
  2. 切換至 .NET Framework 目錄(依版本調整):
    cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
  3. 執行註冊指令:
    aspnet_regiis.exe -i
  4. 等待視窗顯示「Finished installing ASP.NET」並自動關閉。
  5. 重新啟動 IIS:iisreset 或 服務管理員重啟 World Wide Web Publishing Service。

方法二:VS2005/2008 安裝順序導致的衝突修復

  1. 關閉 Visual Studio。
  2. 同樣執行 aspnet_regiis.exe -i 重新註冊。
  3. 若出現「無法建立 Mutex」錯誤:確認 VS 完全關閉、重啟電腦後再試。

進階排查:若上述方法無效

  • 檢查 C:\Windows\Microsoft.NET\Framework64\ (x64 系統) 同步執行註冊。
  • 使用 aspnet_regiis.exe -iru 完整重新安裝 ASP.NET 與更新指令碼對應。
  • 檢查機器金鑰機制:aspnet_regiis.exe -ga "NETWORK SERVICE" 授予存取權限。
  • 修復 .NET Framework:控制台 → 程式集 → Microsoft .NET Framework → 變更 → 修復。

預防最佳實務

  1. 安裝順序:先裝 IIS(含 ASP.NET/ISAPI 角色服務)→ 再裝 Visual Studio / .NET SDK。
  2. 部署腳本化:使用 PowerShell DSC / Ansible 確保環境一致性。
  3. 定期執行 aspnet_regiis -i 作為維護窗口例行檢查項目。
copyright © 萬盛學電腦網 all rights reserved