SSIS包从2015升级到2017后Script Task出现迁移警告的原因是什么
SSIS升级后Script Task迁移警告的产生原因
你遇到的FOUND SQL SERVER INTEGRATION SERVICES 2012 SCRIPT TASK <SCRIPT TASK NAME> REQUIRES MIGRATION警告,是SSIS不同版本间元数据标识不匹配导致的,具体原因如下:
- 向下兼容运行时的静默执行逻辑:SSIS 2017内置了旧版本Script Task的兼容执行层,哪怕Script Task的版本标识没有升级,运行时也能自动适配执行旧版本的脚本代码,所以你在SSDT和SQL代理作业中运行包都不会报错,只有打开包编辑时才会触发版本校验的警告。
- 升级流程的元数据遗漏:你这套包的Script Task最初是在SSIS 2012环境下开发的,后续从2012升级到2015、再从2015升级到2017的两次升级过程中,SSIS升级工具都没有主动更新Script Task的专属版本标识。常规的包升级只会修改包级别的版本属性,不会主动扫描修改内嵌脚本的元数据。
- Script Task的独立存储规则:Script Task的版本信息是独立存储在包XML结构的
VSTAScriptProjectStorage节点下的,和包的整体版本属性完全隔离。只有你主动打开Script Task的VSTA编辑器进行保存操作时,才会触发脚本元数据的版本更新,将标识改为当前SSDT对应的SSIS版本。
如果需要消除该警告,只需右键点击对应Script Task选择编辑,打开VSTA编辑器后直接保存即可,不会修改原有脚本的业务逻辑。
内容的提问来源于stack exchange,提问作者cali556
相关产品推荐
相关产品推荐

