ZIP文件在SSIS中不起作用(服务器级问题?)

时间:2014-08-06 13:58:25

标签: sql-server sql-server-2008 ssis zip

我在这里发布这个相当奇怪的问题是因为有人之前遇到过这个问题,或者可能只有一两个关于我可以尝试或接下来检查的想法,因为我很难过。

摘要:尝试使用.zip扩展名创建文件的SQL 2008 SSIS包任务失败,

  

“拒绝访问路径”

详细信息:这首先出现在测试环境中,其中包在Dev(和Prod)中运行正常。使这个问题变得奇怪的部分是它完全是关于文件扩展,而不是安全性。我现在提到这个以限制检查安全性的回复(SSIS帐户,目录级别权限等): - 不是这样,100%。

所以,我已经构建了一个SSIS包作为行为证明,它分别为3个文件(a.txt, b.txt, c.txt)和

(a)使用CozyRoc Zip创建Zip,

(b)使用脚本任务创建.zip(使用GZipStream - 我知道这会创建一个GZIP,而不是ZIP,但请耐心等待......)和

(c)本机SSIS文件系统任务将文件从c.txt复制到c.zip(是的,创建一个不是真正的zip文件的.zip文件。)

所有三个都失败并显示上述消息 - 为(a)和(b)创建.ZIP个文件,但保持0长度。 (对于(c)只是错误消息)。

现在,我编辑SSIS包并更改目的地的扩展名(到.ZOP.ZIP2.GZ.ANYTHING),并且所有3个都完美无缺。这显然是我知道这是.ZIP扩展而非“正常”安全问题。

所以我最初假设这是在这个测试服务器上的一次性,因为它是唯一发生的地方,但我发现了另一个盒子(构建排练),其中存在完全相同的问题。我已经尝试将.ZIP与各种不同的程序(Windows资源管理器,WinZip,7Zip,WinRar和“无程序”)联系起来,但没有任何作用,而且我已经用问题搜索了这个问题而没有运气。

我尝试使用各种GUI安装各种已安装的归档程序创建.ZIP文件,它们都运行良好。可以使用.ZIP解压缩现有CozyRoc个文件。可以使用脚本GZipStream解压缩解压缩重命名为.GZ的现有.ZIP(GZIP)文件。我可以使用SSIS或Explorer / CMD将文件重命名为.ZIP。只是SSIS(特别是SSIS)创建扩展名为.ZIP(特别是.ZIP)的文件会抛出此错误。

我开始怀疑它可能与SSIS认为有关.ZIP是一个存档“文件夹”而不是“.ZIP文件”但我不知道该去哪里提出这个想法,证明它或修理它。

有什么想法吗? - 在我的智慧结束!!

提前致谢

PS 使用.ZIP2并重命名的“显而易见”的答案不是一个选项,有(数字)数百个在生产中运行的包创建.ZIP文件和包需要无需修改即可从Test转移到Prod。我真的需要一个解决方案,而不是解决方法,在这种情况下,如果有的话。

1 个答案:

答案 0 :(得分:4)

这被证明是一个RedGate工具(HyperBac),它与.ZIP扩展文件(以及其他)有文件关联。 Hyperbac对.ZIP文件的监控似乎与SSIS尝试写入.ZIP文件发生冲突,因为procmon报告了共享文件访问冲突,导致程序包报告虚假的ACCESS DENIED错误。

由于在我们的环境中使用该工具是必要的,因此我能够通过使用GUI删除.ZIP关联来解决问题(" Hyperbac配置管理器">"扩展&#34 ;> Ext = .ZIP,删除)