Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 6.0 ScriptEngine C0000005 異常完整排查指南

編輯:關於伺服器

錯誤現象

Active Server Pages 錯誤 'ASP 0115'
意外錯誤
外部對象中發生了可捕獲的錯誤(C0000005)。

Active Server Pages 錯誤 'ASP 0240'
腳本引擎異常
ScriptEngine 產生了異常 'C0000005'
(錯誤位於 'IActiveScript::Close()' 中,來自 'CActiveScriptEngine::FinalRelease()')

兩大核心成因

成因一:VBScript.dll / MDAC 版本損壞或不相容

  • 系統檔案損毀、病毒感染、不當修補導致
  • Ghost 精簡版系統缺少關鍵 DLL

解決方案:

  1. 從同版本健康系統複製 Vbscript.dll 覆蓋 (先備份 C:\Windows\System32\Vbscript.dll)
  2. 重新安裝/修復 MDAC:
    下載 MDAC 2.8 SP1 或更新至最新版
  3. 更新 Script 推廣引擎:
    下載 Windows Script 5.7/5.8
  4. 重新註冊 DLL:
    regsvr32 vbscript.dll
    regsvr32 jscript.dll

成因二:Access 資料庫過大導致效能崩潰

  • Access (Jet/ACE) 單檔 > 50MB 時效能指數級下降
  • 併發存取極易觸發 C0000005、鎖定衝突、資料損毀

解決方案 (按推薦度):

  1. 遷移至 SQL Server 2008/2012/2016+ (徹底根治)
  2. 定期壓縮修復:
    「工具」→「資料庫公用程式」→「壓縮與修復資料庫」
  3. 拆分資料庫:前端 (表單/報表/查詢) + 後端 (純資料表),後端放網路共享
  4. 嚴格控制資料量:歸檔歷史資料、刪除無用記錄
  5. 調整連線字串:
    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=...;Jet OLEDB:MaxBufferSize=8192;

微軟官方 Hotfix (Windows Server 2003 SP1)

KB917781:安裝 KB908521 後 W3wp.exe 可能發生存取違規。
無法直接下載,需撥打微軟合作夥伴支援專線 800-820-3800 獲取。

系統級排查步驟 (Clean Boot)

  1. msconfig →「選擇性啟動」→ 取消勾選「載入啟動項目」
  2. 「服務」分頁 → 勾選「隱藏所有 Microsoft 服務」→「全部停用」
  3. 重開機觀察是否復現
  4. 若正常,逐一啟用服務/啟動項目定位衝突軟體

最佳實踐總結

ASP + Access 架構在 2024 年已屬技術債務。新專案請直接採用 ASP.NET Core / PHP / Python / Node.js + SQL Server / PostgreSQL / MySQL。維舊專案請優先規劃資料庫遷移,並建立自動化壓縮備份排程。

Copyright © Windows教程網 All Rights Reserved