Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法对SQL作业内的链接服务器执行查询_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

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

无法对SQL作业内的链接服务器执行查询,sql,sql-server,sql-server-2008,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 n

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

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.
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.
在翻阅文档之后,我找到了一篇解释这个问题的文章,并建议我映射安全上下文并以osql的形式运行该作业

我不必映射安全上下文,因为从上面链接服务器的设置可以看出,它已经被映射了。我按照建议将类型更改为操作系统命令。现在运行作业时,会收到以下消息:

Message
Executed as user: NT AUTHORITY\NETWORK SERVICE. Login failed for user 'linkedserveruser'. [SQLSTATE 28000] (Error 18456).  The step failed.
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作业运行,有什么建议吗

您确定没有更改linkedserveruser的密码吗?如果链接的服务器是很久以前安装的,那么很可能密码已经更改。也许您可以通过直接连接到链接的服务器来验证用户名/密码是否正确。您是否尝试过KB文章中建议的其他解决方案?这建议将作业的所有者更改为系统管理员登录名,例如sa,这可能是一个更简单的解决方案。@sl0ppy:是的。我确实试过直接连接到它,而且查询很好。@Nathan:是的。令人惊讶的是,它仍然给了我与用户相同的错误:domain\MYMACHINENAME$。Msg 18456,级别14,状态1,服务器SOMEOTHERDATABASENAME,用户“linkedserveruser”的第1行登录失败。进程退出代码0。这一步成功了。我错过什么了吗?