【发布时间】:2017-02-02 17:12:32
【问题描述】:
我有一个带有执行 sql 任务的 SSIS 包,该任务执行更新表中数据的存储过程。当我通过 SSDT 运行包时,它运行成功,但是当我在 SQL 代理中运行作业时,任务成功执行,但表中没有数据更新。换句话说,任务执行成功,但 EXEC 语句并没有真正执行。
包中没有先例限制或类似的东西。我什至禁用了除此之外的所有其他任务。我真的认为这与我运行这个包的代理有关,因为当我通过集成服务目录手动执行包时,它运行良好。
我的代理作业通过一个代理运行,该代理映射到设置为 sysadmin 服务器角色的登录,并映射到服务器上每个数据库中的 db_owner 角色,默认模式 dbo。
我使用的是 sql server 2014。
想法?
【问题讨论】:
-
您可以/是否在作业运行时运行探查器跟踪以检查是否调用了 proc?
-
我运行了探查器跟踪,当然我对此一点都不熟悉,并且我看到一条带有“exec(my sproc)”文本数据的记录,运行时间为 3 秒。我不确定这是否意味着 proc 已执行,但同样,它应该更新的数据都没有更新。我还尝试使用另一个引用我的 Windows 登录名的凭据来运行该作业,并且存储过程运行良好。
标签: sql-server ssis sql-server-2014