不同服务器数据库之间的数据操作

本文详细介绍了如何使用SQL Server的链接服务器功能,实现远程服务器的数据查询、导入、更新等操作,包括创建链接服务器、登录验证、使用openrowset、openquery、opendatasource等方法进行数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<pre><span style="color: #008080;">--</span>
<span style="color: #008080;">创建链接服务器 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">exec</span>
<span style="color: #000000;"> sp_addlinkedserver </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">ITSV </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;"> </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">远程服务器名或ip地址 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">
</span>
<span style="color: #0000ff;">exec</span>
<span style="color: #000000;"> sp_addlinkedsrvlogin </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">ITSV </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">false </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">,</span>
<span style="color: #0000ff;">null</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">用户名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">密码 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">查询示例 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;"> </span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> ITSV.数据库名.dbo.表名

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">导入示例 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;"> </span>
<span style="color: #0000ff;">into</span>
<span style="color: #000000;"> 表 </span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> ITSV.数据库名.dbo.表名

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">以后不再使用时删除链接服务器 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">exec</span>
<span style="color: #000000;"> sp_dropserver </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">ITSV </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">droplogins </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">连接远程/局域网数据(openrowset/openquery/opendatasource) </span>
<span style="color: #008080;">
--</span>
<span style="color: #008080;">1、openrowset </span>
<span style="color: #008080;">
</span>
<span style="color: #000000;">
</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">查询示例 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;"> </span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openrowset</span>
<span style="color: #000000;">( </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">sql服务器名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">用户名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">密码 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">,数据库名.dbo.表名)

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">生成本地表 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;"> </span>
<span style="color: #0000ff;">into</span>
<span style="color: #000000;"> 表 </span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openrowset</span>
<span style="color: #000000;">( </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">sql服务器名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">用户名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">密码 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">,数据库名.dbo.表名)

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">把本地表导入远程表 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">insert</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openrowset</span>
<span style="color: #000000;">( </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">sql服务器名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">用户名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">密码 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">,数据库名.dbo.表名)
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> 本地表

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">更新本地表 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">update</span>
<span style="color: #000000;"> b
</span>
<span style="color: #0000ff;">set</span>
<span style="color: #000000;"> b.列A</span>
<span style="color: #808080;">=</span>
<span style="color: #000000;">a.列A
</span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openrowset</span>
<span style="color: #000000;">( </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">sql服务器名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">用户名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">; </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">密码 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">,数据库名.dbo.表名)</span>
<span style="color: #0000ff;">as</span>
<span style="color: #000000;"> a </span>
<span style="color: #0000ff;">inner</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">join</span>
<span style="color: #000000;"> 本地表 b
</span>
<span style="color: #0000ff;">on</span>
<span style="color: #000000;"> a.column1</span>
<span style="color: #808080;">=</span>
<span style="color: #000000;">b.column1

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">openquery用法需要创建一个连接 </span>
<span style="color: #008080;">
</span>
<span style="color: #000000;">
</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">首先创建一个连接创建链接服务器 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">exec</span>
<span style="color: #000000;"> sp_addlinkedserver </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">ITSV </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;"> </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">远程服务器名或ip地址 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">
</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">查询 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;">
</span>
<span style="color: #0000ff;">FROM</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openquery</span>
<span style="color: #000000;">(ITSV, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SELECT * FROM 数据库.dbo.表名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">)
</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">把本地表导入远程表 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">insert</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openquery</span>
<span style="color: #000000;">(ITSV, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SELECT * FROM 数据库.dbo.表名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">)
</span>
<span style="color: #0000ff;">select</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;"> </span>
<span style="color: #0000ff;">from</span>
<span style="color: #000000;"> 本地表
</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">更新本地表 </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">update</span>
<span style="color: #000000;"> b
</span>
<span style="color: #0000ff;">set</span>
<span style="color: #000000;"> b.列B</span>
<span style="color: #808080;">=</span>
<span style="color: #000000;">a.列B
</span>
<span style="color: #0000ff;">FROM</span>
<span style="color: #000000;"> </span>
<span style="color: #ff00ff;">openquery</span>
<span style="color: #000000;">(ITSV, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SELECT * FROM 数据库.dbo.表名 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">) </span>
<span style="color: #0000ff;">as</span>
<span style="color: #000000;"> a
</span>
<span style="color: #0000ff;">inner</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">join</span>
<span style="color: #000000;"> 本地表 b </span>
<span style="color: #0000ff;">on</span>
<span style="color: #000000;"> a.列A</span>
<span style="color: #808080;">=</span>
<span style="color: #000000;">b.列A

</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">3、opendatasource/openrowset </span>
<span style="color: #008080;">
</span>
<span style="color: #0000ff;">SELECT</span>
<span style="color: #000000;"> </span>
<span style="color: #808080;">*</span>
<span style="color: #000000;">
</span>
<span style="color: #0000ff;">FROM</span>
<span style="color: #000000;"> </span>
<span style="color: #0000ff;">opendatasource</span>
<span style="color: #000000;">( </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">SQLOLEDB </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;">, </span>
<span style="color: #ff0000;">'</span>
<span style="color: #ff0000;">Data Source=ip/ServerName;User ID=登陆名;Password=密码 </span>
<span style="color: #ff0000;">'</span>
<span style="color: #000000;"> ).test.dbo.roy_ta
</span>
<span style="color: #008080;">--</span>
<span style="color: #008080;">把本地表导入远程表 </span>
<span style="color: #008080;">
</span>
</pre>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值