执行 SQL 任务的结果集大小是否有限制。如果是,那么如何处理结果集的多余部分?
我为什么要问这个?我打算通过执行 SQL 任务(PREFERRED)将 4-5 GB 大小的记录集放入内存,用它来生成 sql 语句。然后这些 sql 语句将用于将数据加载到我的目标表中。
执行 SQL 任务的结果集大小是否有限制。如果是,那么如何处理结果集的多余部分?
我为什么要问这个?我打算通过执行 SQL 任务(PREFERRED)将 4-5 GB 大小的记录集放入内存,用它来生成 sql 语句。然后这些 sql 语句将用于将数据加载到我的目标表中。
正如@RBarry Young 所说,您的执行 SQL 任务转储结果只会受到机器上/可用于 SSIS 的内存量的限制。
当您在数据流中耗尽内存时会发生什么,SSIS 将使用 BufferTempStoragePath 中指定的位置将数据写入磁盘和您的性能坦克。 ssis中buffer temp和blob temp的实际用途是什么
我在控制流中看不到模拟,这是有道理的,因为通常它不是代码的内存密集型部分。测试它并找出答案。如果您的内存用完并且 SSIS 崩溃了,那么您可能需要将您的逻辑移动到一个脚本任务中,然后尝试有效地管理您的内存,而不是一次保存整个集合。
也就是说,我几乎会认为您正在努力构建自己的插入语句。这类似于编写自己的数据流,但可能不如 SSIS 所做的那样有效。