不同数据库之间复制表的数据的方法:

当表目标表存在时:

insert into 目的数据库..表 select * from 源数据库..表

当目标表不存在时:

select * into 目的数据库..表 from 源数据库..表

--如果在不同的SQL之间:

insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) 
select * from 源数据库..表

-- 创建链接服务器 
exec sp_addlinkedserver   ' ITSV ' , ' ' , ' SQLOLEDB ' , ' 远程服务器名或ip地址 ' 
exec sp_addlinkedsrvlogin ' ITSV ' , ' false ' , null , ' 用户名 ' , ' 密码 '

-- 查询示例 
select * from ITSV.数据库名.dbo.表名

-- 导入示例 
select * into 表 from ITSV.数据库名.dbo.表名

-- 以后不再使用时删除链接服务器 
exec sp_dropserver ' ITSV ' , ' droplogins '

-- 连接远程/局域网数据(openrowset/openquery/opendatasource) 
-- 1、openrowset

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

-- 生成本地表 
select * into 表 from openrowset ( ' SQLOLEDB ' , ' sql服务器名 ' ; ' 用户名 ' ; ' 密码 ' ,数据库名.dbo.表名)

-- 把本地表导入远程表 
insert openrowset ( ' SQLOLEDB ' , ' sql服务器名 ' ; ' 用户名 ' ; ' 密码 ' ,数据库名.dbo.表名) 
select * from 本地表

-- 更新本地表 
update b 
set b.列A = a.列A 
from openrowset ( ' SQLOLEDB ' , ' sql服务器名 ' ; ' 用户名 ' ; ' 密码 ' ,数据库名.dbo.表名) as a inner join 本地表 b 
on a.column1 = b.column1

-- openquery用法需要创建一个连接

-- 首先创建一个连接创建链接服务器 
exec sp_addlinkedserver   ' ITSV ' , ' ' , ' SQLOLEDB ' , ' 远程服务器名或ip地址 ' 
-- 查询 
select * 
FROM openquery (ITSV, ' SELECT * FROM 数据库.dbo.表名 ' ) 
-- 把本地表导入远程表 
insert openquery (ITSV, ' SELECT * FROM 数据库.dbo.表名 ' ) 
select * from 本地表 
-- 更新本地表 
update b 
set b.列B = a.列B 
FROM openquery (ITSV, ' SELECT * FROM 数据库.dbo.表名 ' ) as a 
inner join 本地表 b on a.列A = b.列A

-- 3、opendatasource/openrowset 
SELECT    * 
FROM    opendatasource ( ' SQLOLEDB ' , ' Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta 
-- 把本地表导入远程表 
insert opendatasource ( ' SQLOLEDB ' , ' Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).数据库.dbo.表名 
select * from

注意:某些时候会出现未开启Ad Hoc,使用下面的语句开启使用

启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
    使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

-----------------------------------------------------------------------------------------------------------------------------------

好吧,如果上面看得烦下面有个更容易理解的例子:

Exec sp_droplinkedsrvlogin DBVIP,Null
Exec sp_dropserver DBVIP

EXEC sp_addlinkedserver
      @server='DBVIP',--被访问的服务器别名 
      @srvproduct='',
      @provider='SQLOLEDB',
      @datasrc='Server2'   --要访问的服务器

EXEC sp_addlinkedsrvlogin 
     'DBVIP', --被访问的服务器别名
     'false', 
     NULL, 
     'sa', --帐号
     'thankyoubobby' --密码

Select   *   from DBVIP.pubs.dbo.orders

/////////////////////////////ORACLE////////////////////////////
Exec sp_droplinkedsrvlogin demo,Null
Exec sp_dropserver demo
go

EXEC sp_addlinkedserver 
        @server ='demo',
        @srvproduct='Oracle',
   @provider='MSDAORA', 
   @datasrc='ServiceName'

EXEC sp_addlinkedsrvlogin 
     'demo', 
     'false', 
     NULL, 
     'userid', 
     'password' 
go

SELECT * FROM OPENQUERY(demo ,'select * from tbdemo' )

UPDATE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE id = 101') 
SET name = 'hello';

INSERT OPENQUERY (demo, 'SELECT id FROM tbdemo')
VALUES ('hello');

DELETE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE name = ''hello''');

-------------------------------------------具体例子------------------------------------------------------------

if   exists(select   1   from   master.dbo.sysservers   where   srvname   =   'test')   
begin   
exec   sp_droplinkedsrvlogin     'test','sa'   
exec   sp_dropserver     'test'   
end

--建立连接服务器 
EXEC sp_addlinkedserver 'test', 'ms','SQLOLEDB', '192.168.1.99'

exec sp_addlinkedsrvlogin 'test','false',null,'sa',''
select * from test.db_film.dbo.T_film
go

if   exists(select   1   from   master.dbo.sysservers   where   srvname   =   'test')   
begin   
exec   sp_droplinkedsrvlogin     'test','sa'   
exec   sp_dropserver     'test'   
end

go

方法二:

1、新建一个连接服务器,连接到你要导入的服务器的IP地址(或者机器名)

2、点击安全性,使用此安全上下文建立连接,输入数据库服务器的用户名和密码

3、选择要导出的数据库,使用如下sql导数据:

select * into   laobao from [10.180.116.121].ynpdeicp.dbo.LaoBao

Sql解释:

select 要导入的字段 into   要导入的数据表 from [IP地址].数据库名.dbo.数据表名

SQL Server 跨服务器 不同数据库之间复制表的数据的更多相关文章

  1. SQL Server跨服务器操作数据库

    今天给大家来分享一下跨服务器操作数据库,还是以SQL Server的管理工具(SSMS)为平台进行操作. 什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库 ...

  2. SQL Server跨服务器的数据库迁移

    1. 使用sql server task中back up 任务,保存为*.bak 文件. 2. 在另一个server中restore database,如果已经存在这个database,会覆盖之前的数 ...

  3. 问题:sqlserver 跨服务器连接;结果:Sql Server 跨服务器连接

    Sql Server 跨服务器连接 用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset ...

  4. SQL Server跨服务器建立视图

    create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...

  5. SQL Server跨服务器查询的实现方法,OpenDataSource

    SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...

  6. Sql Server 跨服务器连接

    用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...

  7. Sql Server 导入还有一个数据库中的表数据

    在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,此处以SQL Server导入表数据为例.阐述一下: 1.打开SQL Server Management ...

  8. SQL Server 跨服务器、跨版本使用复制 (2008、2012)

    在两台不同的服务器间实现SQL Server 的发布和订阅,需要一些设置. 测试环境:2008数据库.2012数据库,可实现跨版本发布订阅 本次测试是08的数据库做发布端 ,使用08数据及12数据库均 ...

  9. SQL Server不同服务器不同数据库间的操作

    什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查. 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不 ...

随机推荐

  1. postgresql----唯一索引,表达式索引,部分索引

    一.唯一索引 唯一索引字面上理解就是在索引上增加唯一约束,不允许出现索引值相同的行,目前只有Btree索引可以声明唯一索引,唯一键会自动创建唯一索引. 测试表: test=# create table ...

  2. postgresql----Btree索引

    当表数据量越来越大时查询速度会下降,像课本目录一样,在表的条件字段上创建索引,查询时能够快速定位感兴趣的数据所在的位置.索引的好处主要有加速带条件的查询,删除,更新,加速JOIN操作,加速外键约束更新 ...

  3. 沈阳网络赛K-Supreme Number【规律】

    26.89% 1000ms 131072K A prime number (or a prime) is a natural number greater than 11 that cannot be ...

  4. 【转】SpringMVC+Spring3+Hibernate4开发环境搭建

    原文地址: SpringMVC+Spring3+Hibernate4开发环境搭建

  5. TC/IP协议簇

    TCP/IP: 数据链路层:ARP,RARP网络层: IP,ICMP,IGMP传输层:TCP ,UDP,UGP应用层:Telnet,FTP,SMTP,SNMP. OSI:物理层:EIA/TIA-232 ...

  6. mysql-blog

    https://www.cnblogs.com/zhanht/p/5450559.html

  7. flask源码剖析--请求流程

    想了解这篇里面的内容,请先去了解我另外一篇博客Flask上下文 在了解flask之前,我们需要了解两个小知识点 偏函数 import functools def func(a1,a2): print( ...

  8. 设置UCHome注册登陆退出的跳转页自定义

    UCHome 默认注册.登录成功后跳转到 http://www.xxx.com/home/space.php?do=home 退出后会跳转到站点的首页,即 http://www.xxx.com/hom ...

  9. http之url和uri

    HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接.URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息 URL,全称是U ...

  10. vue版本,小Toast

    <div id="message" :class="{'show':show_Message}"><p v-html="messag ...