SQL代理登录-发生了什么?
我有一个从SQL代理作业调用的DTSX包 DTSX包引用固定位置的文件(例如e:\mssql\myfile.txt) 在大多数机器上,这个位置是存在的,但在一些机器上,我必须手动映射这个位置(这不是问题-我知道更好的解决方案是使用package conifgurations动态拉取文件位置,但这不是一个选项-无论如何,我想了解发生了什么) 我已将代理服务设置为作为特定用户运行(例如,myuser) 当我以这个用户的身份登录并映射目录,然后直接运行dtsx包时,一切都很顺利 当我通过SQL代理作业运行包时,找不到该文件。如果将命令行作业步骤添加到代理作业以映射驱动器:SQL代理登录-发生了什么?,sql,sql-server-2005,sql-agent,Sql,Sql Server 2005,Sql Agent,我有一个从SQL代理作业调用的DTSX包 DTSX包引用固定位置的文件(例如e:\mssql\myfile.txt) 在大多数机器上,这个位置是存在的,但在一些机器上,我必须手动映射这个位置(这不是问题-我知道更好的解决方案是使用package conifgurations动态拉取文件位置,但这不是一个选项-无论如何,我想了解发生了什么) 我已将代理服务设置为作为特定用户运行(例如,myuser) 当我以这个用户的身份登录并映射目录,然后直接运行dtsx包时,一切都很顺利 当我通过SQL代理作业
net use e: \\svr\location
然后所有的作品也归档了
那么后面发生了什么?为什么SQL代理用户甚至在我以该用户身份登录时也需要驱动器映射。问题在于您的SQL代理没有在您登录的myuser下运行。您可以在sql作业历史错误消息中验证这一点 转到服务并更改为sql代理服务,以在服务帐户myuser下运行 另一个建议是共享svr文件夹,以获得myuser的权限。这样您就不得不担心文件夹路径了