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

关于不同服务器上面数据库的数据交互的问题
我有一台A服务器,上面安装了SQL数据库,并创建了Student1数据库,我还有一台B服务器,上面也安装了SQL数据库,并创建了Student2数据库,现在我想要把Student1的数据提取到Student2中,我应该采取什么方式效率比较高呢?
IT服务器?数据库?SQL IT 服务器 数据库 SQL

------解决方案--------------------
可以用导入导出向导或者创建一个连接服务器对象,然后用insert的方式
------解决方案--------------------
如果AB两库的表不是累加进去,也就是说,B的数据表x不是插入到A的X那里,那用发布订阅把B的表同步过去A,然后操作,不过这样A的表数量可能增加一倍。还可以使用唐诗版主公司的触发器加SSB,不过我没搞过,最重要是你要怎么同步,方法其实很多
------解决方案--------------------
同意楼上,如果不是在B数据库附加的话,就用发布订阅复制过去。如果是附加的话,那么在B数据库新建A数据库的连接服务器,然后再insert过去吧
------解决方案--------------------
可以用连接服务器:


--建立链接服务器,通过@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.表


--把本地表的数据,复制到远程表
insert into [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表

------解决方案--------------------
如果数据可以覆盖,直接数据库备份->还原即可.

如果数据是追加到B服务器,建