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

SQL Server代理作业成功完成但未执行SSIS包求助

解决方案:SQL Server代理作业显示成功但未执行SSIS包

我之前碰到过和你完全一样的问题,在SQL Server 2012上折腾了好几天才搞定,给你几个实用的排查和解决方向:

  • 检查SQL Server代理账户的SSIS权限
    手动执行包时用的是你自己的账户,权限肯定够,但SQL Server代理服务的运行账户可能缺SSISDB的权限。你可以给这个账户添加ssis_admin服务器角色,或者用下面的脚本直接授予必要权限:

    USE SSISDB;
    -- 替换成你的代理账户
    DECLARE @AgentAccount NVARCHAR(128) = N'DOMAIN\YourAgentAccount';
    GRANT EXECUTE ON OBJECT::[catalog].[execute_package] TO @AgentAccount;
    GRANT READ ON OBJECT::[catalog].[folders] TO @AgentAccount;
    GRANT READ ON OBJECT::[catalog].[projects] TO @AgentAccount;
    GRANT READ ON OBJECT::[catalog].[packages] TO @AgentAccount;
    
  • 核对作业步骤的配置细节
    别小看拼写错误!作业步骤里的包路径、项目名称、文件夹名称一定要和SSISDB里的完全一致,哪怕是大小写(虽然SQL Server不区分,但配置里写错了真的会导致找不到包)。另外,检查步骤的「运行方式」是不是选了正确的代理账户,别选了一个没权限的代理。

  • 深挖SSISDB的执行日志
    作业显示成功不代表SSIS包真的启动了,去SSISDB的执行日志里找真相:

    1. 在SSMS里展开「Integration Services Catalogs」→「SSISDB」→你的目标文件夹→项目→包
    2. 右键包选择「查看报告」→「所有执行」
    3. 找到代理作业触发的那条执行记录,查看详细日志,里面可能藏着代理没捕获到的错误(比如权限不足、包参数错误)
  • 查看作业历史的详细日志
    右键作业选「查看历史记录」,然后点击每个步骤的「查看日志」,别只看状态是成功,里面的详细信息可能会提示“无法访问SSIS目录”之类的隐藏问题。

  • 升级SQL Server 2012的累积更新
    SQL Server 2012早期版本有不少SSIS代理相关的bug,比如CU补丁之前的版本会出现作业成功但不执行包的情况。建议升级到最新的累积更新(比如CU15及以上),很多这类问题都是补丁直接解决的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:30:07