【问题标题】:Visual Studio throws 'Not Enough storage is available' on SSIS packageVisual Studio 在 SSIS 包上抛出“没有足够的存储可用”
【发布时间】:2020-01-17 03:14:19
【问题描述】:

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

  • 一个用于源数据库
  • 一个用于暂存区(目标)
  • 一个用于配置数据库

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

我们想从运行包的盒子中卸载工具。为此,我们正在建立一个工作站。该站安装了 Visual Studio(连同所有相关的数据库驱动程序),并有一个网络驱动器 Z:\ 映射到第一台服务器,指向 SSIS 包。现在,如果我在 Z:\ 上创建一个项目并将包添加到其中,打开包,我得到一个错误。它可以很好地连接到配置数据库,但是当它尝试检索其他两个连接的连接字符串时,我得到了

警告加载 .dtsx:没有足够的存储空间来完成此操作

知道是什么导致了这个错误吗?

我已经检查过了

【问题讨论】:

    标签: ssis


    【解决方案1】:

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

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

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

    我总是在本地运行我的包并远程推送到目标以获得更好的控制。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        我也遇到过这个问题。内存和磁盘空间绰绰有余。对我来说摆脱错误的是简单地重新启动 Visual Studio。

        【讨论】:

          【解决方案4】:

          我也收到了。就我而言,我在“foreach 循环”中运行“执行包”任务,并且在大约 1100 次迭代后出现“存储空间不足”错误。无论我是在具有大量 RAM 和磁盘的计算机中运行,还是在具有较少 RAM 和磁盘的虚拟机中运行,都会发生这种情况:在这两种情况下大约 1100 次迭代后都会发生错误。

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

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

          【讨论】:

            【解决方案5】:

            在您的平面文件连接属性上 - 查找属性“AlwaysCheckForRowDelimeters” - 将其设置为 FALSE。

            希望对您有所帮助。

            【讨论】:

            • 这里没有涉及平面文件连接,问题已经解决了。
            猜你喜欢
            • 1970-01-01
            • 2019-07-11
            • 2010-11-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多