无法对SQL作业中的链接服务器执行查询

时间:2013-07-31 22:10:10

标签: sql sql-server sql-server-2008

我的服务器设置有点奇怪。我的一个数据库管理员向我的服务器添加了一个链接服务器。在链接的服务器属性中,我在安全性视图中看到以下内容:

Local server login to remote server login mappings:

Local Login            Impersonate           Remote User              Remote Password
domain\myusername        CHECKED

For a login not defined in the list above, connections will:

- Be made using the security context
  Remote login: linkedserveruser
  With password: **************

因此,当我使用以下内容创建存储过程时:

SELECT *
INTO #TEMP
FROM LINKEDSERVERNAME.DBName.dbo.TableName

-- Update local table after processing #TEMP

并设置一个SQL作业,它失败并显示以下消息:

Message
Executed as user: NT AUTHORITY\NETWORK SERVICE. Login failed for user 'linkedserveruser'. [SQLSTATE 28000] (Error 18456).  The step failed.

之后,通过文档挖掘,我找到了一篇解释此问题的KB811031文章,并建议我映射安全上下文并以osql身份运行该作业。

我没有映射安全上下文,因为(正如您从上面链接服务器的设置中看到的那样),它已经被映射了。我按照建议将Type更改为Operating System Command。当我现在运行工作时,我收到以下消息:

Executed as user: domain\MYMACHINENAME$. Msg 18456, Level 14, State 1, Server SOMEOTHERDATABASENAME, Line 1  Login failed for user 'linkedserveruser'.  Process Exit Code 0.  The step succeeded.

当实际失败时,作业退出报告成功。关于如何将包含查询的这种类型的存储过程作为SQL作业运行的任何建议?

0 个答案:

没有答案