【问题标题】:SSIS Execute SQL Task Doesnt Run Through SQL AgentSSIS 执行 SQL 任务不通过 SQL 代理运行
【发布时间】: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


【解决方案1】:

问题是我的查询在我们的 CRM 数据库中命中过滤视图,并且运行 SSIS 作业的用户未设置为 CRM 中的用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多