SQL Agent登录 - 发生了什么?

时间:2010-04-13 08:17:43

标签: sql sql-server-2005 sql-agent

我有一个从SQL代理作业调用的DTSX包。

DTSX包引用固定位置的文件(例如e:\ mssql \ myfile.txt)。

在大多数机器上,这个位置存在,但有些我必须手动映射(这不是问题 - 我知道更好的解决方案是使用包装配置动态拉动文件位置,但这不是选项在这里 - 无论如何我想了解发生了什么)

我已将代理服务设置为以特定用户身份运行(例如 myuser

当我以该用户身份登录并映射目录时,直接运行dtsx包,一切顺利。

当我通过SQL代理作业运行包时,找不到该文件。如果我向代理作业添加命令行作业步骤以映射驱动器:

net use e: \\svr\location

然后所有工作文件也。

那么背景中发生了什么?为什么即使我以此用户身份登录,SQL代理用户也会重新询问驱动器映射。

1 个答案:

答案 0 :(得分:2)

问题是您的SQL Agent未在您已登录的myuser下运行。您可以在sql作业历史记录中验证错误消息。

转到服务并更改为sql代理服务,以便在服务帐户myuser下运行。

另一个建议是共享svr文件夹以获得myuser的权限。这样你就不用担心文件夹路径了。