You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将SSIS包从SQL Server 2012升级至SQL 2019出现脚本报错如何解决

SSIS从SQL Server 2012升级至2019脚本报错修复方案

两类报错的根因分别为脚本组件预编译逻辑异常、SSIS程序集引用版本与目标环境不匹配,可按以下步骤逐一排查修复:

1. 统一开发与运行环境基础组件版本

  • 开发机安装匹配Visual Studio版本的SQL Server Integration Services扩展,确保扩展最高支持SQL Server 2019,避免内置程序集版本缺失
  • 目标SQL Server 2019服务器至少升级到CU12以上版本,SQL Server 2017、2019早期CU存在SSIS脚本组件程序集注册异常的已知问题,会直接触发属性未定义报错

2. 修复The binary code for the script is not found.报错

  • 打开所有包含脚本任务、脚本组件的SSIS包,逐个进入VSTA脚本编辑器,手动点击「生成」-「生成解决方案」,确认无编译错误后保存退出,不要直接关闭编辑器
  • 检查每个脚本组件的属性,确认PrecompileScriptIntoBinaryCode属性设置为True,避免部署到服务器后无法实时编译生成二进制代码
  • 直接将SSIS项目的目标服务器版本设置为SQL Server 2019,不要降级到2014/2016/2017,跨版本降级会导致编译生成的二进制代码与目标环境不兼容

3. 修复Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute is not defined.报错

  • 右键SSIS项目进入属性页,打开「引用」列表,确认Microsoft.SqlServer.DTSPipelineWrap、Microsoft.SqlServer.ManagedDTS、Microsoft.SqlServer.ScriptTask等核心DTS程序集的版本与目标SQL Server版本匹配:
    • SQL Server 2017对应程序集版本为14.x
    • SQL Server 2019对应程序集版本为15.x
  • 若存在引用版本不匹配,删除旧引用,从对应版本的SSIS安装目录下重新添加正确版本的程序集,之后重新生成整个解决方案

4. 部署前后校验配置

  • 生成解决方案前先执行「清理解决方案」操作,删除所有旧编译缓存文件,避免旧版本二进制代码残留
  • 部署到SSISDB后,右键对应包打开「配置」页,确认运行时.NET框架版本设置为4.7.2以上,与开发环境编译脚本用的.NET版本一致
  • 若仍有报错,可尝试开启SSIS包运行的「32位运行时」选项,部分2012版本的旧脚本组件依赖32位程序集运行

内容的提问来源于stack exchange,提问作者Reddington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:00:03