SSIS 2005:即使有足够的RAM可用,也可以进行缓冲交换

时间:2015-06-29 14:21:31

标签: sql-server visual-studio ssis

我在Visual Studio 2005中运行(调试)一个SSIS包。 当它正在执行复杂的数据流任务时,我可以看到TMP文件出现在我根据 BufferTempStoragePath 数据流属性指定的文件夹中,如下所示:{{3} }

当输出这些文件时,我可以在Windows任务管理器中看到 - > RAM使用率上升的性能,但仍然有足够的RAM可用,为什么SSIS将数据交换到磁盘?

SSIS running and TMP files being output

据我所知,从上面的链接:

现在可能导致缓冲区交换的原因是什么?有两种可能的原因。第一个是内存分配失败的时候。第二个是Windows发出低内存资源通知事件的信号。两者都将触发SSIS以减少其工作集。 SSIS通过将缓冲区数据移动到磁盘来实现此目的。

如何在我的情况下检查哪种情况(即内存分配失败或内存资源通知不足)?我启用了SSIS日志记录,并将OnError,OnWarning和OnInformation包事件输出到数据库表,我还从相关数据流输出BufferSizeTuning和PipelineInitialization事件,但是我看不到任何与内存分配失败或内存资源低通知相关的输出?

以下Microsoft文章提到在性能监视器中监视缓冲区假脱机性能计数器(在 SQL Server:SSISPipeline 下),但我在我的Dev计算机上使用Windows 7我只能看到SQL Server:SSIS Pipeline 11.0和12.0(2012和2014版本),因为这些是我机器上运行的唯一完整SSIS实例,因此我不确定在调试SSIS 2005包时如何监控Buffers Spooled ?

http://blogs.msdn.com/b/sqlperf/archive/2007/05/01/set-blobtempstoragepath-and-buffertempstoragepath-to-fast-drives.aspx

https://msdn.microsoft.com/en-us/ms141031.aspx

0 个答案:

没有答案