2010-04-05 648 views
1

我想创建一个远程数据库的链接服务器(这两个服务器都是SQL serve2005)。我能够从我的SQL Server管理工作室连接远程服务器。我用下面的语法来创建它。sql server 2005 sp_addlinkedserver给问题

EXEC sp_addlinkedserver 
@server  = N'LINKSQL2005', 
@srvproduct = N'', 
@provider  = N'SQLNCLI', 
@provstr  = N'SERVER=IP Address of remote server ;User ID=XXXXXX;Password=*********' 

我提供了IP addressntax。 以及上述语法中的用户名和密码。 链接服务器正在创建。但是,当我尝试执行查询时,我得到下面的错误。

使用查询。

select * from LINKSQL2005.<DBName>.dbo.<TableName> 



OLE DB provider "SQLNCLI" for linked server "LINKSQL2005" returned message "Communication link failure". 
Msg 10054, Level 16, State 1, Line 0 
TCP Provider: An existing connection was forcibly closed by the remote host. 
Msg 18456, Level 14, State 1, Line 0 
Login failed for user 'sa'. 
OLE DB provider "SQLNCLI" for linked server "LINKSQL2005" returned message "Invalid connection string attribute". 

请帮助我,我在哪里犯错。

回答

3

我能够找到解决方案。以下2行将解决问题。

sp_addlinkedserver '<Link Server Alias Name>', '', 'SQLNCLI', NULL, NULL, 'SERVER=<IP>', NULL 

sp_addlinkedsrvlogin '<Link Server Alias Name>', 'false', NULL, 'username', 'password' 

然后执行查询进行测试。

select * from <Link Server Alias Name>.[<DB Name>].dbo.<TableName>