SSIS包数据流查询在SQL Agent作业中未更新问题求助
核对部署路径与作业调用路径
打开SQL Server Management Studio(SSMS),进入Integration Services Catalogs找到你部署的包,对比SQL Agent作业步骤里配置的包路径,确认两者指向同一个包。不少情况是部署时选错了SSISDB文件夹,导致作业仍调用旧位置的包。强制全量部署并验证包内容
放弃增量部署,选择重新部署整个项目。部署完成后在SSMS里右键目标包,选择「查看代码」,搜索FROM_UNIXTIME关键字,确认新查询逻辑已经写入部署后的包。如果代码里没有该关键字,说明部署未成功,检查部署过程中是否有被忽略的权限报错或路径错误。排查作业是否调用了文件系统的旧包
打开SQL Agent作业步骤,查看类型为「SQL Server Integration Services Package」时的「包源」:如果是「File system」,要确保替换了对应路径下的.dtsx文件,并且重启SQL Agent服务让新包生效;如果是「SSIS Catalog」,则回到第一步确认路径一致性。清除SSIS缓存并重启相关服务
SSIS可能缓存旧的包元数据,尝试重启SQL Server Integration Services服务(在系统服务管理器中找到对应服务),同时在VS部署时务必勾选「覆盖现有包」选项,避免缓存残留导致旧逻辑执行。验证SQL Agent执行账号权限
若作业执行账号没有SSISDB对应文件夹的读取权限,可能会无法加载新包而 fallback 到旧缓存。检查作业的执行账号是否拥有SSISDB的读取权限,以及部署目录的访问权限。直接执行SSISDB内的包做测试
在SSMS里右键部署后的包选择「执行」,验证输出是否为正确的日期格式。如果手动执行正常,说明问题出在SQL Agent作业配置;如果手动执行仍异常,重新检查部署流程,确保包本身已正确更新。
内容的提问来源于stack exchange,提问作者Yoav24

