前阵子,运行一个执行ETL处理的SSIS包时一直报错:“The buffer manager cannot create a temporary storage file on any path in the BufferTempStoragePath property. There is an incorrect file name or no permission.”,“ A buffer failed while allocating 4062864 bytes.”,“Error 0x8007000E while loading package file “D:\SSIS\ETL.dtsx” into an XML document. 存储空间不足,无法完成此操作。”,“Error 0x800705AA while loading package file “D:\SSIS\ETL.dtsx”. 系统资源不足,无法完成请求的服务。”但该服务器无论是内存还是磁盘都绰绰有余。重启服务器,给sql server 2005打sp3补丁也都无济于事。

在网上搜索了一下,发现BufferTempStoragePath默认使用windows临时文件目录,于是打开%temp%,将里面内容全部清空,重新提交作业,结果奇迹般的成功了。

随后继续在网上搜索,找到这么一篇文章http://www.bimonkey.com/2008/04/blobtempstoragepath-and-buffertempstoragepath/,文中提到可以通过在SSIS中将BufferTempStoragePath和BLOBTempStoragePath指向改为一个新的目录的方法来解决,同时要注意这个新的目录不应与虚拟内存交换文件在同一个盘中。试试吧,希望这个问题不要再发生。

版权声明:本文为saville原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/saville/archive/2011/06/03/2070497.html