如果错误是磁盘已满,那么最有可能是因为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