我的包从Visual Studio完美运行。我还设置了一个Master Job包,它基本上运行了ETL的所有任务。当我尝试从生产SQL服务器上的已部署包运行任务时,一些通过而其他通则失败。发生以下问题:
Dataflow任务无法创建缓冲区来调用ADO NET源的PrimeOutput:错误通常发生在内存不足的情况下
系统报告96%的内存负载。这有点奇怪,有两个原因,它在12个演出的服务器上在Visual 2012上运行良好,它在24演出的服务器上执行相同的包。
答案 0 :(得分:2)
同时运行的包较少
重新设计包以避免asynchronous components
生产服务器可能有24GB的可用内存,但分配给SQL Server的数量与为操作系统保留的数量相比有多少? SSIS将在OS内存空间中运行
如果你的任何软件包使用32位驱动程序,那么整个过程将被限制在大约3GB的内存中。
如果你的字符串长度膨胀以避免截断错误的可能性,那么很快就会看到dtexec消耗的内存超过了所需的内存。