在服务器之间复制

时间:2012-06-13 15:14:10

标签: sql-server

我需要将数据从一台服务器上的表复制到另一台服务器上的同一个表。我试过这个:

sp_addlinkedserver 'server1' 

INSERT INTO [server2].[R2Op].dbo.[RefR2Ops]
SELECT * FROM server1.[R2Op].dbo.[RefR2Ops]

但我在第二个声明中收到错误:

  

用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败。

你能告诉我怎么解决这个问题吗? 感谢。

2 个答案:

答案 0 :(得分:1)

答案就在那里。您尚未授予本地服务用于登录远程服务器的权限。您的命令在NT AUTHORITY \ ANONYMOUS LOGON的权限下默认运行。

您需要指定用户凭据才能访问链接服务器

请参阅sp_addlinkedsrvlogin

sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname' 
    [ , [ @useself = ] 'useself' ] 
    [ , [ @locallogin = ] 'locallogin' ] 
    [ , [ @rmtuser = ] 'rmtuser' ] 
    [ , [ @rmtpassword = ] 'rmtpassword' ]

答案 1 :(得分:1)

如果两个服务器位于同一个ADS域中并且您的登录名存在于两个服务器上,则可能需要添加:

  EXEC sp_addlinkedsrvlogin 'server1', 'true'

否则,请检查将与链接服务器建立连接的安全上下文。