我有一个在SQL Server 2016上运行的2012 SSIS项目。我的dev机器和服务器上都有SSDT 2015。除脚本任务外,一切正常 - 我对现有脚本任务进行了更改并重新构建并重新部署了项目,并收到以下错误:
脚本任务使用此版本的集成服务不支持的15.0版脚本。要运行包,请创建一个新脚本。
我尝试过以下方法:
它通过SSDT 2015运行良好,但是一旦部署它就会在通过SSMS执行程序包时失败并出现上述错误 - 这是我的开发箱和服务器的结果。我以为14.0是2016年?我有什么想法可以解决这个问题吗?
脚本任务(在包中)不能通过服务器上的集成服务目录执行,但在SSDT中可以正常工作。
答案 0 :(得分:4)
这对我有用。如果您使用SSMS并尝试通过Integration Services目录(导入和部署)添加DTSX(包含脚本),则会失败。但是,如果您在Visual Studio中使用Project> Deploy选项,它将成功。我的目标是SQL 2016,SSDT是2015.请注意,在Project下面是我使用的Upgrade All Packages选项。我不知道这是否有必要,我不这么认为,但为了以防万一。
答案 1 :(得分:1)
这article帮我解决了这个问题。使用SSMS 2017部署ispac文件时,Visual Studio 2015和SQL Server 2016遇到了同样的问题。当我开始使用SSMS 2016时,一切正常。
答案 2 :(得分:1)
部署单个程序包或整个项目时会有所不同:
如果部署单个程序包,则用于部署单个程序包的visual studio版本必须与部署整个项目的Visual Studio版本相同。
如果部署整个项目,那么VS会在部署时调整这些脚本版本问题,因此不会出现问题。
答案 3 :(得分:0)
这个错误真的很烦人,而且非常愚蠢。感谢Microsoft使用SSDT 17+在2014和2016年服务下进行了充分的漏洞和故障开发 (他们的意思是sh.t-sh.t-devil's-tools?)
解决此问题的最简单方法是使用BIDS Helper在SQL Server上部署单个程序包。只需确保您设置与目标服务器相同的项目兼容性。
相同的包(只拖入一个EMPTY DEFAULT脚本),两种类型的部署 - 在SQL Server上将副本另存为...,并且BIDS Helper右键单击 - 部署。
从代理作业运行此包。 使用第一种部署类型 - 您得到的错误大约是15.0版本,第二种类型 - 您不是。我很满意)))
答案 4 :(得分:0)
我正在从其他环境SQL Management Studio集成服务中导出* .ispac文件,但出现类似错误。 从Visual Studio项目/ bin /开发中获取* .ispac解决了此类错误