文章編號: 918609 - 上次校閱: 2011年1月26日 - 版次: 1.1

您匯入 Microsoft 動態 CRM 的自訂大型檔案時,就會發生逾時

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
重要這份文件包含修改登錄的相關資訊。請確定您在修改之前先備份登錄。請確定您知道如何在發生問題時還原登錄。如需有關如何備份、 還原,及修改登錄中,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
編號 256986? (http://support.microsoft.com/kb/256986/ ) Microsoft Windows 登錄說明

在此頁中

全部展開 | 全部摺疊

徵狀

當您匯入自訂大型檔案至 [Microsoft 動態 CRM 3.0 或 Microsoft [動態] CRM 4.0 逾時,就會發生。此外,您會收到下列錯誤訊息。
錯誤訊息 1
匯入的等候逾時錯誤。
錯誤訊息 2
超過最大要求長度。
錯誤訊息 3
無法上載檔案,或匯入失敗
錯誤訊息 4
這不是有效的自訂檔案。請使用的。匯出自訂項目所產生的 XML 檔案。
如果 DevErrors 值設為"On"Web.config 檔中,您會收到下列錯誤訊息:
Microsoft CRM 平台錯誤報告:
錯誤描述:超過逾時
錯誤的詳細資料:這種錯誤的詳細資料不被提供的平台。
錯誤號碼:0x80040E31
此外,從 Microsoft 商務解決方案 CRM 1.2 Microsoft 動態 3.0 與 Microsoft 動態 CRM 3.0 Microsoft [動態] CRM 4.0 升級 Microsoft CRM 資料庫過大時,您可能會收到下列錯誤訊息:
09:54:25|Error|安裝例外狀況。System.Exception: Microsoft.Crm.Setup.Server.InstallDatabaseAction 動作失敗。---> System.Data.SqlClient.SqlException: 超過逾時。在作業完成之前逾時期間已或伺服器沒有回應。在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute() Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install (Int32 languageCode、 字串檔案、 布林升級) 在 [在動作動作、 IDictionary 參數、 布林復原---Microsoft.Crm.Setup.Common.Action.ExecuteAction Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do (IDictionary 參數) 在 Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql (InstallDatabase 資料庫、 sql 字串、 Int32 逾時) 在結束的內部例外狀況堆疊追蹤---在 Microsoft.Crm.Setup.Common.Installer.Install (IDictionary stateSaver),在 Microsoft.Crm.Setup.Server.DatabaseInstaller.Install (IDictionary stateSaver),在 Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall (IDictionary stateSaver),在 Microsoft.Crm.Setup.Common.ComposedInstaller.Install (IDictionary stateSaver),在 Microsoft.Crm.Setup.Server.ServerSetup.Upgrade (IDictionary 資料),在 Microsoft.Crm.Setup.Server.ServerSetup.Run() 的 Microsoft.Crm.Setup.Common.Action.ExecuteAction (動作動作、 IDictionary 參數、 布林復原)

發生的原因

因為下列情況之一是,則為 true,就會發生這個問題:
  • 時間,用來匯入自訂檔案,或升級 Microsoft 商務解決方案-CRM 超過預設 OLEDBTimeout 值在 [Microsoft 動態 CRM 中正在執行 Microsoft SQL Server 的電腦。
  • 用於匯入自訂檔案,或是升級 Microsoft CRM 的時間超過 ExtendedTimeout 值所使用的長時間執行的作業。

    附註ExtendedTimeout 登錄項目,請在 [Microsoft 動態 CRM 伺服器上的不應該設定為大於 2147483647 的值。這是可以使用 ExtendedTimout 登錄項目最大值。

    附註匯入自訂檔案可以是長期執行作業。
  • Customization.xml 檔案的大小大於 7.5 百萬位元組 (MB)。

    備忘稿
    • 當您匯出自訂項目時,會建立 Customization.xml 檔案。
    • 根據預設為 Microsoft ASP。NET 限制 HTTP 要求大小為 8 MB。

解決方案

如果要解決這個問題,使用一或多個下列的方法。

方法 1: 新增 [OLEDBTimeout 和 ExtendedTimeout 登錄子機碼,以增加逾時值

警告如果您修改登錄不正確使用登錄編輯程式,或使用另一個方法,可能會發生嚴重的問題。這些問題可能會要求您重新安裝作業系統。Microsoft 不保證這些問題都能獲得解決。修改登錄,必須自行承擔風險。
  1. 按一下 [開始按一下執行類型登錄然後按一下[確定].
  2. 找出下列登錄子機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
  3. 以滑鼠右鍵按一下MSCRM指到然後按一下DWORD 值若要建立新的 DWORD 值]。
  4. 重新命名 DWORD 值,為下列值:
    OLEDBTimeout
  5. 以滑鼠右鍵按一下 [DWORD] 值,然後按一下修改.
  6. [編輯 DWORD 值對話方塊類型86400數值資料方塊中按一下小數位數基底選項,然後再按一下[確定].

    附註根據要電腦執行 SQL server,而且自訂檔案數目的需求,值可以是更長的時間 86400。86400 的值相當於 24 小時。
  7. 以滑鼠右鍵按一下MSCRM指到然後按一下DWORD 值若要建立新的 DWORD 值]。
  8. 重新命名 DWORD 值,為下列值:
    ExtendedTimeout
  9. 以滑鼠右鍵按一下 [DWORD] 值,然後按一下修改.
  10. [編輯 DWORD 值對話方塊類型1000000數值資料方塊,然後再按一下[確定].

    備忘稿
    • 數值資料方塊,您可以輸入超過 1000000 的值。但是,請勿輸入大於 2147483647 的值。這是十六進位的 0x7FFFFFFF。
    • 如果此機碼已經存在,請注意目前的值。當您完成匯入] 或 [Microsoft 動態 CRM 的升級後,將這個機碼值設回原始值,或如果它之前沒有刪除機碼。預設 OLEDB 逾時值為 30 秒。

方法 2:修改在兩個不同的 Web.config 檔案中的參數

  1. 按一下 [開始按一下所有的程式按一下系統管理工具然後按一下網際網路資訊服務 (IIS) 管理員.
  2. 展開 [伺服器] 名稱,然後展開網站.
  3. 以滑鼠右鍵按一下Microsoft CRM v3.0網站或Microsoft CRM v4.0網頁的網站,然後按一下開啟.
  4. 以滑鼠右鍵按一下 Web.config 檔案,請按一下開啟檔案然後按一下[記事本].
  5. 在 [記事本],找出下面這一行。
    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>
  6. 變更 executionTimeout ="3600 」,並變更 maxRequestLength ="20000 」。
  7. 儲存並關閉 Web.config 檔案。
  8. 在您開啟 Web.config 檔案的目錄,開啟 MSCRMServices 資料夾。
  9. 以滑鼠右鍵按一下 Web.config 檔案,請按一下開啟檔案然後按一下[記事本].
  10. 在 [記事本],找出下面這一行。
    <httpRuntime maxRequestLength="8192"/>
  11. 變更 maxRequestLength ="20000 」。
  12. 儲存並關閉 Web.config 檔案。

其他相關資訊

OLEDBTimeout 值

OLEDBTimeout 值的單位為秒。根據預設值,OLEDBTimeout 值為 30 秒。OLEDBTimeout 值會控制用於單一的 SQL 查詢的 SQL 逾時值。增加後的 OLEDBTimeout 值時多載的 SQL 伺服器。此外,查詢會花較長的時間來處理。

ExtendedTimeout 值

ExtendedTimeout 值的單位為毫秒。根據預設值,ExtendedTimeout 值為 1000000 的毫秒。ExtendedTimeout 值會控制 ASP。NET 的逾時用來匯入要求的值。逾時值必須大於完成整個匯入程序的時間。增加後的 ExtendedTimeout 值時匯入處理序要花很長的時間。

附註當 SQL server 的效能變慢或有多匯入的自訂檔案,匯入程序會很長的時間。

這篇文章中的資訊適用於:
  • Microsoft Dynamics CRM 2011
  • Microsoft Dynamics CRM 4.0
關鍵字:?
kbmbscrm40 kbmbscustomization kberrmsg kbtshoot kbmbsmigrate kbprb kbsurveynew kbmt KB918609 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:918609? (http://support.microsoft.com/kb/918609/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。