我们有两个包作为一项工作的一部分。我们将这些相同的包从一个SQL Server Integration Services Catalog SSISDB文件夹复制到同一Integration Services Catalog SSISDB文件夹(同一命名空间)中的另一个SQL Server。在复制了包的新服务器上运行此作业时,作业会运行但失败并且也不会生成错误消息(我们记录了任何错误消息)。
当从Visual Studio构建并将这两个相同的软件包部署到同一个SSISDB文件夹然后运行该作业时,作业将按预期运行。
通过.ispac文件进行部署时,我们使用
错误地执行了脚本任务ScriptTaskName: There was an exception while loading ScriptTask from XML:
System.Exception: The Script Task "ST_0001a..." uses version 15.0 script
that is not supported in this release of Integration Services. To run the
package, use the Script Task to create a new VSTA script. In most cases,
scripts are converted automatically to use a supported version, when you
open a SQL Server Integration Services package in %SQL_PRODUCT_SHORT_NAME%
Integration Services. at
MicrosoftSqlServer.Dts.Tasks.ScriptTaskScriptTaskLoadFromXML(XmlElement
elemProj, IDTSInfoEvents events)
为什么只有构建和部署方式才能使包按预期工作?
答案 0 :(得分:1)
这种错误有几种可能的原因 首先 - 您应该将您的SSDT from MS版本更新为最新的,在项目属性中设置正确的目标 SQL Server版本并重建包。将此属性重置为 SQL vNext 时可能会出现这种情况 有statements您的SSDT版本包含导致此错误的错误。
第二个 - 由于某种原因,当从SSMS部署.ispac或在文件资源管理器中单击它时,SSMS会隐含地将项目和软件包升级到自己的版本。关于此行为的Detailed report。我怀疑你有SSMS 2017并且它将脚本任务的隐式升级执行到版本15 如果您想在不使用SSMS的情况下通过支持团队部署软件包,可以采用以下方式。使用 IsDeploymentWizard - Microsoft utility来管理包和项目部署。它具有GUI和命令行参数来处理部署 以下是其中一个项目的样本:
isdeploymentwizard / S /SP:"D:\Project\Proj.ispac“/ DS:”myserver \ instance“/ DP:”SSISDB / ProjectFolder“
确保 IsdeploymentWizard是从SQL bin目录%ProgramFiles%\Microsoft SQL Server\130\DTS\Binn
启动的,而不是从SSMS启动的。