我的办公室刚刚从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秒。包裹无法 被发现。步骤失败。
答案 0 :(得分:0)
一位同事找到了对我们有用的解决方案。我们必须更新称为SSIS包的SQL Server作业。这些作业现在引用本地路径,而不是引用UNC路径。进行更改后,我们不再看到错误。
相同的作业定义在SQL Server 2008R2下运行。但是,我们也确实同时更新了服务器操作系统版本,所以也许这也是一个因素。