答案 0 :(得分:5)
阅读SQL Server Agent job fails when the job uses a linked server。
替代方法要解决此问题,请使用以下方法之一 方法:
方法1
让系统管理员成为作业的所有者。
方法2:
为链接服务器使用映射的安全上下文并修改作业 以OSQL身份运行。
设置链接服务器的映射安全上下文:右键单击 链接的服务器,然后单击“属性”。单击“安全”选项卡。 选择以下任一选项。使用登录名制作 当前安全上下文使用此安全上下文进行修改 要作为OSQL运行的作业:右键单击该作业,然后单击 属性。在“步骤”选项卡中,单击所需的“步骤名称” 单击编辑,然后单击编辑。在“编辑作业步骤”的“常规”选项卡上 在对话框中,单击“类型”列表中的“操作系统命令”(CmdExec)。 在“命令”文本框中,键入osql -E -Q“Exec storedProcedure”。在编辑中 单击作业步骤对话框,单击确定。在“属性”对话框中,单击“确定”。
在链接服务器定义中勾选:
Be made using the login's current security context
答案 1 :(得分:1)
我有同样的问题,在更改了用户权限等等之后,我发现了这篇文章而不是使用“使用登录的当前安全上下文制作”我使用“使用此安全上下文制作”并且我指定了解决了这个问题的帐号和密码。所以问题不在于SQL作业或我的程序实际上是我的链接服务器。即使链接服务器确实有效......在SQL作业中调用链接服务器时,链接服务器必须具有专门指定的帐户详细信息。