Visual Studio抛出“没有足够的存储空间”#39;关于SSIS包

时间:2015-12-08 15:54:47

标签: ssis

我有一个SSIS包(在包部署中),它将数据从一个数据库/表复制到另一个数据库/表。这个包有三个连接:

  • 一个用于源数据库
  • 一个用于临时区域(目标)
  • 一个用于配置数据库

打开包时,它会为config连接获取环境变量,然后使用该连接访问SSIS_Configurations并设置其他两个连接。当我在服务器本身的Visual Studio中打开该文件时(因此文件,VS和Config数据库都在同一个框中),一切都按预期工作。

我们希望从运行包的框中卸载工具。为此,我们建立了一个工作站。此工作站安装了Visual Studio(以及所有相关的数据库驱动程序)并且具有网络驱动器Z:\映射到第一个服务器,通向SSIS包。现在,如果我在Z:\上创建一个项目并将包添加到它,打开包,我收到一个错误。它连接到配置数据库就好了,但是当它试图为其他两个连接提供连接字符串时,我得到Warning loading <package>.dtsx: Not enough storage is available to complete this operation.

有关导致错误的原因的任何想法吗?

我已经检查了

5 个答案:

答案 0 :(得分:1)

问题似乎不是磁盘z上没有足够的空间:当程序包尝试运行时,它正在尝试检查磁盘上的可用存储z:,哪个SSMS没有读/写权限

我的建议是在本地运行包,并将其移动到该包中的目标数据库。

另一个选项(注意:未经测试) - 是通过安装在z:驱动器上的SSMS来运行包,然后可以访问它需要告诉它是否有空间运行的窗口互操作。

我一直在本地运行我的软件包并远程推送到目标,以便更好地控制。

我希望这会有所帮助。

答案 1 :(得分:0)

终于解决了。原来,有人手动修改了[SSIS Configuration]ConfiguredValue字段为NVarchar(MAX)而不是NVarchar(255)。这样做是因为一个条目长达400个字符。

我们已将其设置为NVarchar(500),现在可以正常使用。

答案 2 :(得分:0)

我也遇到过这个问题。 Ram和磁盘空间绰绰有余。摆脱错误的是简单地重启Visual Studio。

答案 3 :(得分:0)

我也得到了这个。在我的情况下,我在“foreach循环”中运行“执行包”任务,并且在大约1100次迭代后我得到“不够存储”错误。无论我是否在拥有大量内存的计算机中运行,都会发生这种情况。磁盘,或在内存较少的虚拟机中运行disk:在两种情况下大约1100次迭代后发生错误。

由此我得出结论,我的错误是由运行“执行包”任务时SSIS中的资源泄漏引起的。

对我有用的解决方法:我将子包的内容复制到“Sequence container”任务。当我这样做时,我能够运行序列容器任务数千次。

答案 4 :(得分:-1)

在平面文件连接属性上 - 查找属性&#34; AlwaysCheckForRowDelimeters&#34; - 将其设置为FALSE。

希望有所帮助。