日期:2014-05-17  浏览次数:20562 次

不同服务器上数据库间的数据复制
本帖最后由 zaocha321 于 2013-04-08 11:50:11 编辑
我采用网上的方法,在两个服务器之间建立linkedserver,但是当执行查询操作时报错了。

if   exists(select   1   from   master.dbo.sysservers   where   srvname   =   'test')   
begin   
exec   sp_droplinkedsrvlogin     'test','sa'   
exec   sp_dropserver     'test'   
end

EXEC sp_addlinkedserver 'test', 'ms','SQLOLEDB', '192.168.1.238'
EXEC sp_addlinkedsrvlogin 'test','false',null,'sa','123'
GO

SELECT TOP 20 * FROM test.Kxr_ERP.dbo.City
GO 

报错信息如下:
链接服务器"test"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期"。
链接服务器"test"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。"。
消息 53,级别 16,状态 1,第 0 行
命名管道提供程序: 无法打开与 SQL Server 的连接 [53]. 


我看两边的数据库的 允许远程连接 都是打开的啊,哪位帮忙看看是什么原因啊?

------解决方案--------------------
语句有问题,狼王,进我的博客看看 
我里面有代码,我用过N次