参考消息
SQL Server 2016/2017 的 SSIS 运行时修复安装在服务器端,开发工具更新并不会自动更新执行包的数据库实例。即使设计器可以正常打开包,服务器上的 SSISDB、SQL Server Agent 或命令行运行时仍可能使用未修复的组件。
SQL Server 2016 或 2017 上🎨的 SSIS 包出现问题时,必须从执行日志中确认完整信息。重点记录以下内容:
SSIS 运行方式会影响 OLE DB、ODBC、Excel、Access 和部分第三方驱动的加载结果。SSDT 调试时可能使用 32 位运行时,而 SQL Server Agent 默认使用 64 位运行时,因此同一个包可能在开发机成功、服🤔务器失败。
SSIS 数据流运行失败通常已经进入组件执行阶段☀️,排查重点应转向源数据类型、目标字段长度、空值处理、驱动版本和事务设置。对数据流启用更细的日志,可以定位到具体组件,而不是只查看包级别的失败状态。
KB4466831 的处理重点是核对适用版本和包含修复的更新分支,而不是在不同版本之间直接复制补丁文件。SQL Server 2016 与 SQL Server 2017 的安装包、组件版本和更新渠道不能混用。
KB4466831 相关问题不能只通过重新保存包或重新安装 SSDT 解决。🎉正确做法是先确认 SQL Server 服务器端的 SSIS 运行时是否包含对应修复,再排除包版本、权限👍、连接管理器和 32 位/64 位运行方式造成的独立故障。
SQL Server 2016/2017 的 SSIS 包失败不一定由版本缺陷引起,以下条件经常产生与补丁问题相似的表现。
服务器补丁只能修复产品组件中的已知缺陷,不能替换失效📢的凭据、错误的连接字符串或不兼容的数据提供程序。补丁安装后仍需保留原始错误日志,用于判断故障是否已经转变为配置问题。
SSISDB 项目部署模式下,作业可能执行的是服务⭐器中旧版本项目,而开发机刚刚修改的包尚未部署。检查项目版本、包名称、环境引用、参数值和作业步骤中的项目路径,确认日志🤔对应的确实是待验证版本。
当服务器版本已🌟更新⭐、执行节点正确、项目版本一致,而错误仍然只在特定组件或特定数据上出现时,应把问题转回包设计、数据质量或驱动兼容性,而不是继续重复安装补丁。