2010-04-05 466 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>