部署至SQL Server的SSIS包因日志提供程序错误无法执行
SSIS包部署到SQL Server目录后Execute Package任务不执行的排查方案
排查核心权限问题
用sa账号发起执行,但SSIS目录中实际运行包的是SQL Server Integration Services服务的账户(通常是NT Service\MsDtsServer150,和你看到的CEIP遥测服务无关)。需要:- 在SSMS中展开「Integration Services目录」→目标项目→右键「属性」→「权限」,确认该服务账户拥有对项目的读取和执行权限。
- 若子包涉及文件系统、数据库等外部资源,需同步确认服务账户对这些资源的访问权限。
校验Execute Package任务配置
- 打开
Start.dtsx的Execute Package任务,切换到「包」选项卡,确认「包源」选择的是项目包,而非文件系统路径,且子包名称选择正确。Visual Studio中的相对路径引用在部署到目录后会失效,必须使用项目内包引用。 - 检查项目级参数的传递设置:若子包依赖项目参数,确认参数的作用域、数据类型与子包的接收配置一致,执行时传入的参数值符合要求。
- 打开
启用详细日志定位根因
默认日志信息不足以排查问题,需开启详细日志:- 执行
Start.dtsx时,在「高级」选项卡勾选「启用日志记录」,选择SQL Server日志提供程序,同时勾选「执行包任务」的OnPreExecute、OnError、OnPostExecute等关键事件。 - 执行完成后查看详细日志,可直接获取子包未执行的具体原因(如参数不匹配、包路径无效、权限拦截等)。
- 执行
排除CEIP服务干扰
NT Service\SSISTELEMETRY150对应的是SSIS客户体验改进计划服务,仅负责收集遥测数据,完全不影响包的执行逻辑,无需针对该服务做任何操作。验证部署完整性
- 检查SSIS目录的项目节点下,所有需要调用的子包是否都已成功部署,若有缺失重新执行部署操作。
- 单独执行每个子包,确认子包自身可正常运行,排除子包内部的错误导致主包调用失败。
内容的提问来源于stack exchange,提问作者user2058413
相关产品推荐
相关产品推荐

