6

在此处输入图像描述在此处输入图像描述我创建了成功运行的 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

请建议。

4

3 回答 3

4

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

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

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

也就是说,通常当某些东西在 BIDS/SSDT 中有效而在 SQL 代理中无效时,首先要看的是权限的差异。您正在 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 子任务授权该凭据。

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

于 2013-05-27T15:56:35.207 回答
2

我假设它在 BIDS 中运行,而不是在 SQL 代理作业中。我遇到了这种问题,并将代理作业中的包属性设置为如下截图[检查了Use 32 bit runtime],它对我有用。

在此处输入图像描述

希望这可以帮助!

于 2013-05-27T11:40:30.023 回答
0

在“作业失败。作业被调用......”的主要错误下查看孩子的错误详细信息。在那个子错误中,您可能会发现类似“消息...要查看执行的详细信息,请右键单击集成服务目录,然后打开 [All Executions] 报告...”

于 2021-10-19T03:15:47.697 回答