迁移后,为什么SSIS包失败并带有无效签名?

时间:2018-12-18 13:49:57

标签: sql-server xml ssis

我的办公室刚刚从SQL Server 2008R2迁移到SQL Server2017。我们将不到100个SSIS包转换为2017格式。我们有许多是由SQL作业触发的。迁移后,其中大多数运行正常。但是,我们有少数(可能是10个)有时会因无效的签名错误而失败。对于那些失败的人,我什至看不到一致的100%失败率。

为什么软件包会间歇性地出现此错误?

下面是完整错误文本的示例。示例软件包之一已部署到4台不同的服务器,并且在其中3台服务器上运行良好。这4个版本之间的唯一区别是dtconfig文件的路径。对于调用程序包的作业,我们没有做任何更改。

对于刚刚提到的示例,我尝试重新部署失败的程序包,但是它仍然会间歇性地失败,并出现无效的签名错误。另外,我让我们的IT部门确认了执行作业的用户有权读取dtsx文件。

  

以用户身份执行:domain \ username。 Microsoft(R)SQL Server执行   适用于64位的Package Utility版本14.0.3045.24(C)2017   微软。版权所有。开始时间:6:30:00 AM错误:   2018-12-18 06:30:00.82代码:0xC0011007来源:   {5576F0C1-D470-418D-8FAB-9700612AEF76}说明:无法   由于软件包没有有效的XML,因此将软件包作为XML加载   格式。一个特定的XML分析器错误将被发布。结束错误错误:   2018-12-18 06:30:00.82代码:0xC0011002来源:   {5576F0C1-D470-418D-8FAB-9700612AEF76}说明:无法执行   由于错误而打开包文件“ \\服务器名\共享名\ mypackage.dtsx”   0x80090006“无效签名。”。加载程序包时会发生这种情况   并且文件无法打开或正确加载到XML中   文献。这可能是由于指定了错误的文件名导致的   调用LoadPackage或指定的XML文件不正确时   格式。结束错误无法加载包   由于错误0xC0011002,“ \\服务器名\共享名\ mypackage.dtsx”。   说明:无法打开包文件   由于错误0x80090006,“ \\服务器名\共享名\ mypackage.dtsx”   “无效签名。”。加载程序包和文件时会发生这种情况   无法正确打开或加载到XML文档中。这个可以   调用时指定了错误的文件名的结果   LoadPackage或指定的XML文件格式不正确。   来源:{5576F0C1-D470-418D-8FAB-9700612AEF76}开始时间:6:30:00 AM   完成:6:30:00 AM经过:0.016秒。包裹无法   被发现。步骤失败。

1 个答案:

答案 0 :(得分:0)

一位同事找到了对我们有用的解决方案。我们必须更新称为SSIS包的SQL Server作业。这些作业现在引用本地路径,而不是引用UNC路径。进行更改后,我们不再看到错误。

相同的作业定义在SQL Server 2008R2下运行。但是,我们也确实同时更新了服务器操作系统版本,所以也许这也是一个因素。