帮助链接服务器错误

时间:2010-06-01 21:13:30

标签: sql-server

在SSMS 2008中,我尝试在另一台服务器上的数据库中执行存储过程。该调用类似于以下内容:

EXEC [RemoteServer].Database.Schema.StoredProcedureName
   @param1,
   @param2

链接服务器设置正确,并且RPC and RPC OUT都设置为true。链接服务器上的安全性设置为Be made using the login's current security context

当我尝试执行存储过程时,出现以下错误:

Msg 18483, Level 14, State 1, Line 1

    Could not connect to server 'RemoteServer' because '' is not defined as a remote login at the server. Verify that you have specified the correct login name.

我使用Windows身份验证连接到本地服务器。有人知道为什么我会收到这个错误吗?

2 个答案:

答案 0 :(得分:2)

'使用登录的当前安全上下文'转换为模拟(也称为SQL Server中的“自映射”,以术语链接)。在模拟上下文下访问远程服务器意味着委派。因此,您需要设置约束委派,请参阅Configuring Linked Servers for Delegation

  

客户要求

     
      
  • Windows用户必须具有对SQLSERVER1和的访问权限   SQLSERVER2。
  •   
  • 用户AD属性帐户敏感且无法委派不得   地选择。
  •   
  • 客户端计算机必须使用TCP / IP或命名管道网络连接。
  •   
     

第一个/中间服务器的要求(SQLSERVER1)

     
      
  • 服务器必须具有域管理员注册的SPN。
  •   
  • 必须信任运行SQL Server的帐户才能进行委派。
  •   
  • 服务器必须使用TCP / IP或命名管道网络连接。
  •   
  • 必须为自映射配置链接服务器登录。
  •   
     

第二台服务器的要求(SQLSERVER2)

     
      
  • 如果使用TCP / IP网络连接,则服务器必须具有域管理员注册的SPN。
  •   
  • 服务器必须使用TCP / IP或命名管道网络连接。
  •   

答案 1 :(得分:0)

运行以下命令,它可以为您修复

exec sp_AddRemoteLogin 'YourServerName','LoginName'

我认为(不确定)两台机器上的密码必须相同。