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

分布式数据库问题
现在求一个问题,
现在又A,B,C 三地,都有自己独立的数据库,数据都上百万,现在想做个一系统想把三地的数据用分布式连接起来,没有头绪,谁能给些建议?方便查询。
SQL?分布式 数据库 数据 分布式

------解决方案--------------------
--建立遠程連線
exec sp_addlinkedserver 'lnk','','SQLOLEDB','ip'
exec sp_addlinkedsrvlogin 'lnk','false',null,'sa','password'

------解决方案--------------------
结构不同就同步成不同的表就可以了嘛

------解决方案--------------------
说白了就是把数据汇总到一个库,然后你就可以省去连接其他机器的开销,用链接服务器只有在实在没办法的时候才用,因为基本上它用不到目标服务器上的统计信息,需要一些额外操作来提高性能
------解决方案--------------------
引用:
Quote: 引用:


1.建立链接服务器,这种方式比较简单:



--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
                                   @srvproduct='ms', 
                                   @provider=N'SQLNCLI',                                    
                                   @datasrc=N'远程ip地址,端口'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
                                    @useself=N'False',
                                    @locallogin=NULL,
                                    @rmtuser=N'用户名',
                                    @rmtpassword='密码'
  
                                    
--查询远程表
select * 
from [Link].远程数据库名.dbo.表



2.如果查询很多,而且数据量非常大,那么可以考虑建一个中央数据库,然后把各个地区的,比如,你说的A,B,C三个地方的数据,通过合并数据库复制,复制到中央数据库。

这样适合于经常要查询,数据量又比较大的,这样少做了很多无用功,效率就高多了。