ssis数据流缓冲区

时间:2012-04-07 13:59:03

标签: ssis

我知道SQL服务器通过在我们选择或更新等时将数据从硬盘加载到RAM来为所有操作使用内存缓存。而且,我读过像SSIS一样也使用一些缓冲区来进行数据流任务。所以,我的问题是..

1)这些缓冲区和缓存是否相同?

2)如果是,我们曾经在数据流任务中编写sql语句(例如:OLEDB数据源任务),因此SSIS必须创建一些缓冲区来加载数据。是否OLEDB源任务中执行的sql语句不会创建任何缓存?

1 个答案:

答案 0 :(得分:2)

不,他们不一样。

SQL Server数据库引擎有自己的缓存,并且正在运行的包中的每个SSIS数据流任务也有自己的缓存。

因此,当您在OLEDB数据源任务中有一个SQL Server查询时,在一个正在运行的SSIS包中的数据流任务中,SQL Server必须将所有数据带到数据库引擎缓存中,并且数据是然后读入数据流任务的缓冲区(然后可以通过数据流管道传递各种缓冲区)。

SQL Server数据库引擎和SSIS包的内存使用本身就是一个很大的主题,但我希望这能回答你的问题。