我有设计SSIS包,其中我需要使用超过150个Merge join.I已将整个包分成13个子包。所有13个包单独运行。 但是当我创建主程序包来调用所有程序包时,它会因内存不足而抛出错误。
我已经将数据流任务的一个属性[DefaultBufferMaxRows设置为10000的10000]并为每个包设置了BLOBTempStoragePath,但它不起作用。
答案 0 :(得分:0)
在2008R2中,我知道解决这个问题的唯一方法是创建一个"包装器"将父进程与子进程隔离的包(调用包装器并传入要调用的子包,包装器动态调用它)。通过这种方式,SSDT不会尝试缓存子包,直到它们被调用。这使我们能够运行超过100个子包。
我没有在2012年对此进行重新测试,但2012年应该在这种情况下更好地处理内存。如果您在2012年,我怀疑他们没有解决问题。