BizTalk 服務意外重新啟動時對應在 BizTalk Server 2004 中的大型郵件

文章編號: 913959 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

當您對應在 Microsoft BizTalk Server 2004 中的大郵件時,BizTalk 服務可能會意外地重新啟動。在應用程式記錄檔中記錄類似下列的事件檢視器] 中,可能會收到錯誤訊息:
事件類型: 警告
事件來源: BizTalk Server 2004
事件類別: BizTalk Server 2004
事件識別碼: 5410
描述:
已發生錯誤,需要 BizTalk 服務終止。最常見的原因為一個未預期超出記憶體錯誤並無法連線或其中一個 BizTalk 資料庫的連線中斷。服務將會關機並自動重新啟動在 1 分鐘。如果有問題的資料庫後頁,就會重複此循環。

錯誤訊息: 型別 System.OutOfMemoryException 擲回的例外狀況。

發生的原因

如果其中一種下列情況成立時,則為 True,可能就會發生這個問題:
  • 可用的記憶體分散,且無法使用連續的記憶體。
  • 轉換處理序已耗用所有可用的記憶體。

其他可行方案

如果要解決這個問題,使用下列方法之一:
  • 前處理在 BizTalk Server 2004 中的檔案,請將大型檔案分割成較小的檔案。
  • 使用自訂的應用程式對應外 BizTalk Server 2004 的大型檔案。然後從 BizTalk Server 2004 呼叫自訂應用程式。

其他相關資訊

資料的對應在 BizTalk Server 2004 中的對應程式會傳遞 XPathDocument 物件會被載入的資料流物件。由 XSLTransform 類別來處理 XPathDocument 物件。若要提供更快存取資料轉換程序執行時,XPathDocument 物件會儲存資料本身搭配 XML 節點資訊。這種行為需要連續的記憶體。因此,您遇到一個 System.OutofMemoryException 錯誤的連續記憶體無法使用時或當轉換程序已耗用所有可用的記憶體。

發生 System.OutofMemoryException 錯誤沒有特定的檔案大小臨界值。我們建議您完整測試下列幾種解決方案,部署這些解決方案在生產環境之前:
  • 包含 XML 檔案的 1 百萬位元組 (MB) 或更多的解決方案
  • 需要較小的一般檔案處理,如果轉為 BizTalk Server 2004 中 XML 時,這些檔案將會變成較大的解決方案
  • 所有種類的預期在生產環境中的訊息的解決方案
當在 BizTalk Server 2004 中處理較小的訊息時,可能就會發生記憶體分散。這個記憶體分散,可能會造成處理較大的訊息時,< 徵狀 > 一節中提到的問題。

下列案例也可能會造成 System.OutofMemoryException 錯誤:
  • 藉由使用商務規則引擎處理較大的郵件。
  • 藉由使用 Microsoft BizTalk 配接器的 SQL Server 處理較大的郵件。
  • 處理 XML 訊息含有非常大 CDATA 區段。就會發生這個問題甚至當您串流資料因為 CDATA 區段無法分割。

?考

如需有關 XPathDocument 物件的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/4f74026y(vs.71).aspx

屬性

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

提供意見