我有一个 SSIS 包,可以将一些表传输到网络驱动器上的 CSV 文件;它在我的电脑上手动运行良好。我将它存储在 MSDB 数据库中的服务器上并从那里执行它并且运行良好,但是当我创建一个具有从 MSDB 运行 SSIS 包的步骤的作业时,它失败说它找不到 CSV 文件名。
我昨天花了一整天时间弄清楚这意味着在整个工作中使用的任何登录凭据都存在权限问题。作业所有者显示为域/myuserid,步骤属性显示他们正在使用我的用户名进行 Windows 身份验证。问题是,我知道我可以访问这个文件夹。
错误日志的第一行显示:“以用户身份执行:servername\SYSTEM”。所以我确保用户“SYSTEM”可以访问我想要加载文件的网络文件夹,但我仍然得到同样的错误。
命令行看起来像 @command=N'/SQL "\SSIS package name" /SERVER servername /CHECKPOINTING OFF /REPORTING E'
编辑:我发现SQL Server 代理工作帐户问题,有人询问工作在谁下运行,marc_s 说“我似乎无法找到任何明确的答案,真的。因为我的工作通常选择和更新数据库中的内容,我假设默认情况下将使用“所有者”帐户,除非您在给定步骤中指定其他帐户“
这也让我相信它正在使用我可以访问的登录信息