将远程SQL Server 数据库中表数据导入本地数据库相应的表

 
 

方法一

  1.远程数据库注册到本地的方法:

  exec sp_addlinkedserver '名称','','SQLOLEDB','远程数据库地址'

  exec sp_addlinkedsrvlogin '名称','false','本地用户名称','远程用户名称','远程用户密码'

  2.导入表

  insert database.dbo.table

  select * from 远程database.dbo.table

 

方法二

  访问不同电脑上的数据库(远程访问,需要联网),如果经常访问或者数据流较大,建议用链接服务器的方法。

  1.创建链接服务器

  exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或IP地址'
  exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
  exec sp_serveroption 'srv_lnk','rpc out','true'  --这个允许调用链接服务器上的存储过程
  go

  2.使用示例

  --查询示例 select * from srv_lnk.database.dbo.table

  --导入示例 select * into table from srv_lnk.database.dbo.table

  3.若不再使用时,删除链接服务器

  exec sp_dropserver 'srv_lnk','droplogins'

 

方法三

  如果只是临时访问,可以直接使用openrowset

  --示例1

  select * from openrowset('SQLOLEDB','sql服务器名';,'用户名';,'密码',database.dbo.table)

  select * into 表 from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',database.dbo.表名)

  --示例2(测试正常)

  insert database.dbo.table
  select * from
  openrowset('MSDASQL',
  'DRIVER={SQL Server};SERVER=远程服务器地址;UID=用户名;PWD=密码',表) AS a

相关问题

  问:当导入的数据量很大,而网络突然中断,会不会出现问题?

  答:中断的话,就等于什么也没做,也就是事务回滚,重新运行

sqlserver把远程数据库的数据导入到本地数据库的sql语句
insert inot  user 
select * from opendatasource('sqloledb','server=192.168.0.1;uid=sa;pwd=dbpasswords;database=dbname').dbname.dbo.user_copy
 
建立一个链接服务器,如起名db1
SELECT * INTO USER_COPY FROM DB1.dbo.USER

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值