0

我正在使用Attunity Oracle驱动程序连接到远程服务器上的 Oracle 数据库以检索数据并转储到 Excel 文件中。在 Visual Studio BIDS 中一切正常。从 VS 我可以直接连接到远程 Oracle 服务器并检索数据。

但是当我将此 ETL 部署到我的生产服务器(64 位 Windows Server 2008 和 SQL Server 2012)时,ETL 总是卡在执行阶段。运行一段时间(20-30 分钟)后,它会发出以下警告,并且仍然会继续运行而不会出现任何错误 -

[SSIS.Pipeline] Information: The buffer manager detected that the system was low on virtual memory, but was unable to swap out any buffers. 0 buffers were considered and 0 were locked. 
Either not enough memory is available to the pipeline because not enough is installed, other processes are using it, or too many buffers are locked.

更多信息-

  1. 我检查了服务器内存,总共 12GB 中只有 3GB 正在使用。
  2. 我已经将 SQL 服务器设置为使用最大 8GB。
  3. 我正在使用 SQL Server 代理作业每 15 分钟定期运行 ETL。
  4. 我已尝试停止服务器上的所有其他 ETL,并尝试运行此 ETL,Execute Package Utility但结果仍然相同。
  5. 在 Oracle Query 中使用日期范围来检索数据,当对特定日期范围的查询没有返回任何数据时,ETL 执行总是成功的!!。

进度日志(执行包实用程序) -

在此处输入图像描述

任何指示/建议?

希望我能够正确描述这个问题。

更新(2014 年 3 月 5 日)-

我尝试减少要检索的数据量,并且 ETL 成功了。我还将其设置DefaultBufferSize为 10 MB(最大大小)。但是如果查询数据超过DefaultBufferSize那为什么包在我的开发机器上成功但在服务器上没有?

谢谢, 普拉泰克

4

0 回答 0