【发布时间】:2018-05-08 11:06:41
【问题描述】:
您好,我正在寻求指导。
我使用 Visual Studio 2015 为目标版本 2016 开发了一个包含几个脚本任务和脚本组件的 SSIS 项目。
我有两个环境服务器 A 和 服务器 B 都安装了 SSIS 2016 SP1。
我已经完成了一个将包部署到服务器 A 的项目,并测试了所有执行完美的包。 但是,当我将 SSIS_DB 中的包从服务器 A 部署到服务器 B 时,我的执行报告中出现了这些错误。
“脚本组件,clsid { }”的组件元数据无法升级到该组件的较新版本。 PerformUpgrade 方法失败
2
从 XML 加载脚本任务时出现异常:System.Exception:脚本任务“”使用此版本的集成服务不支持的 15.0 版脚本。要运行包,请使用脚本任务创建一个新的 VSTA 脚本。在大多数情况下,当您在 %SQL_PRODUCT_SHORT_NAME% Integration Services 中打开 SQL Server Integration Services 包时,脚本会自动转换为使用受支持的版本。 在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj,IDTSInfoEvents 事件)
有趣的是,如果我将包直接从 Visual Studio 部署到服务器 B,则包可以正确执行而没有问题。 所以服务器A和服务器B之间似乎存在不一致。
这方面的一个小背景是,在构建两台服务器时,服务器 A 具有 Microsoft SQL Server 2016 (SP1-GDR) 和服务器 Microsoft SQL Server 2016 (RTM) 但在服务器 B 更新后,它们现在都拥有 Microsoft SQL Server 2016 (SP1-GDR)。 我不确定升级是如何完成的,我怀疑服务器上的 SSIS 不同,但我似乎无法证明这一点。 当我检查版本时,它们似乎都返回相同或相似的元数据
【问题讨论】:
-
stackoverflow.com/questions/50215249/… 这个问题已经在这里被问过很多次了,但是我没有看到除了从 VS 部署之外的解决方案。
-
如stackoverflow.com/a/50229977 中所述,要么从 VS 部署,要么使用 MS SQL Program Bin 文件夹中的 IsDeploymentWizard 部署。
标签: sql-server sql-server-2016 ssis-2016 ssis