作业失败。作业由用户<用户> 调用。运行的最后一步是 step1

Tej*_* MB 5 sql ssis job-scheduling sql-agent-job

在此处输入图片说明在此处输入图片说明我已经创建了成功运行的 SSIS 包并将数据转储到所需的位置。但是当我通过作业运行它时,相同的包会导致错误。我用谷歌搜索了这些链接,但没有找到出路 - http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/9034bdc4-24fd-4d80-ad8d-cc780943397a/

http://www.progtown.com/topic390755-error-at-start-job-the-job-was-invoked-by-user-sa.html

请建议。

bil*_*nkc 4

屏幕截图很棒,但细节将在子行上,因此在第一张图片中,您展开了 [+] 符号,它显示“以用户 X 身份执行。无法打开步骤输出文件”

如果选择该行,底部窗格中通常会显示更多详细信息。

在 BIDS/SSDT 中工作但在 SQL 代理中不起作用的一般故障排除

也就是说,通常当某些东西在 BIDS/SSDT 中有效而在 SQL Agent 中无效时,首先要考虑的是权限的差异。您正在 Visual Studio 中运行该包,并且您的凭据用于

  • 文件系统
  • 数据库(除非提供特定用户和通行证)
  • 一般SaaS(发送邮件任务将使用一些邮件主机来传输电子邮件)

在 SQL 代理作业中运行事物可能会使事情变得复杂,因为您现在可以在 SQL 代理帐户或 DBA 建立的一组委派凭据下运行每个作业的单个作业步骤。

更复杂的问题是网络资源——我的K:驱动器可能映射到 \\server1\it\billinkc,而 SQL Server 代理帐户可能将其映射到 \\server2\domainAccount\SQLServer\ 或者可能完全未映射。

正如 Gowdhaman008 提到的,也可能存在 32 位与 64 位不匹配的情况。一般来说,这特定于使用 Excel 作为源/目标,但也与其他 RDBMS 特定驱动程序和/或用于所述资源的 ODBC 连接相关。

具体到你的例子

根据错误消息的片段,我的主要假设是该帐户CORP\CORP-MAD$无权访问文件所在的位置。要解决此问题,请确保 MAD$ 帐户对 Happy 文件所在位置具有读/写访问权限。由于该帐户以 $ 结尾,因此它可能仅存在于运行 SQL 代理的计算机上。如果它正在访问网络/SaaS 资源,您可能需要在 SQL Server 中创建显式凭据(在“安全”下),然后为 SSIS 子任务授权该凭据。

次要的、不太可能的可能性是这些文件不存在,这只是一个奇怪的发送邮件错误。我知道即使提供了电子邮件地址,参数“地址”不能是空字符串我仍然得到了大量的点击。