如果錯誤是磁盤已滿,那麼最有可能是因爲SQL Server正在運行的磁盤空間不足。
不過,既然你提到的文件大小超過千兆字節是大小,因爲在BizTalk服務器正在運行的虛擬磁盤空間的錯誤可能是可能的。這可能是因爲您使用的接收管道使用XmlDocument類。 XmlDocument類在內存空間方面效率很低,因爲它通常會佔用內存大小約10倍的文件大小。所以,如果你有大約1 GB的XML文件,使用XmlDocument將佔用約10 GB的RAM。
既然你提到的文件尺寸範圍在12GB +,它極有可能在BizTalk服務器正在運行的RAM內存,除非你有數百GB的內存。發生這種情況時,Windows操作系統的默認設置是將多餘的數據從RAM存儲到名爲虛擬磁盤空間的硬盤中。看起來機器的磁盤空間不足 - 這可能會解釋您遇到的錯誤。
可以肯定的,如果你確實運行內存和隨後的虛擬硬盤空間,您可能要分析的BizTalk Server機器的虛擬磁盤空間和/或內存使用。根據該調查,你在得到一個分辨率方面有幾個選擇,
- 同時增加內存和硬盤空間 - 這可能是一個快速簡便的方法來達到所需的性能,無需任何代碼和/或設計/架構重構。
- 中斷文件大小 - 如果可能的話,將文件大小分成較小的文件。
- 使用自定義管道和管道組件 - 您可能想要調查
我發現文件中存在驗證錯誤;應用程序事件日誌已滿。我也注意到運行文件適配器的服務器上的臨時文件非常大(12 + GB)。不知道這是與錯誤還是我試圖處理的文件大小的一個簡單症狀有關。 。 。 – Ickster 2013-05-07 00:15:27