SQL 把一个数据库里面的某张表里的数据插入到另外一个数据库里面的一张表

时间:2022-09-08 15:16:42

    SQL 把一个数据库里面的某张表里的数据插入到另外一个数据库里面的一张表,总结了2种方法:

  1. 目标及源数据库在同一个DBMS上的情况;      

  insert into tab1 select * from 数据库名.dbo.tab2;

   2. 用数据管道;

   --创建链接服务器  
  exec   sp_addlinkedserver     'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'  
  exec   sp_addlinkedsrvlogin   'srv_lnk','false',null,'用户名','密码'  
  go  
    
  --查询示例  
  select *  from srv_lnk.数据库名.dbo.表名  
    
  --导入示例  
  select * into 表名 from srv_lnk.数据库名.dbo.表名  
    
  --以后不再使用时删除链接服务器  
  exec sp_dropserver 'srv_lnk','droplogins'  
  go  

或者 临时访问

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

    EXEC sp_configure 'show advanced options', 1;   
    GO   
    RECONFIGURE;  
    GO  
    EXEC sp_configure 'Ad Hoc Distributed Queries', 1 
    GO   
    RECONFIGURE;  
    GO    

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