日期:2014-05-18  浏览次数:20507 次

sqlserver 之间导数据问题
服务器 A 用户sa 密码123456
数据库 DBAname
表 tableA

服务器 B 用户 sa 密码 654321
数据库 DBBname

现在想用一个存储过程实现把服务器A 数据库里面的表tableA导入到服务器B的数据库DBBname里面,这个怎么实现,请各位高手帮忙啊

------解决方案--------------------
SQL code

1--获得远程数据库的数据
--create table copy(id int,book nvarchar(50),[count] int,userid int,code int)
--insert copy select * from tablea

insert into testCopy
select *
from openrowset('sqloledb','TRAINING-001';'sa';'sa','select * from dbo.copy') as T
2—
--创建链接服务器
exec sp_addlinkedserver   'srv_lnk ', ' ', 'SQLOLEDB ', 'TRAINING-001' 
exec sp_addlinkedsrvlogin  'srv_lnk ', 'false',null, 'sa ', 'sa ' 
go 
--查询示例
select * from srv_lnk.aa.dbo.t 
--导入示例
select * into 表from srv_lnk.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver  'srv_lnk ', 'droplogins ' 
go 
--如果只是临时访问,可以直接用openrowset 
--查询示例
select * from openrowset( 'SQLOLEDB ' 
, 'ElvisGao '; 'sa '; 'sa ' 
,aa.dbo.test) 

--导入示例
select * into 表from openrowset( 'SQLOLEDB ' 
, 'sql服务器名'; '用户名'; '密码' 
,数据库名.dbo.表名)