SQL Server跨服务器操作数据库
今天给大家来分享一下跨服务器操作数据库,还是以SQL Server的管理工具(SSMS)为平台进行操作。
什么是跨服务器操作?
跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查。
为什么要进行跨服务器操作
随着数据量的增多,业务量的扩张,需要在不同的服务器安装不同的数据库,有时候因为业务需要,将不同的服务器中的数据进行整合,这时候就需要进行跨服务器操作了。
跨服务器操作的工具是什么?
DBLINK(数据库链接),顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
好了,废话不多说,跟着我来一步一步的创建DBLINK吧。
创建SQL Server远程链接方法一
第一步
打开SSMS—>登录到本地数据库—>服务器对象—>链接服务器(右键)—>新建链接服务器,如下图1:
图1 开始创建链接服务器
第二步
在弹出的对话框中输入相关信息
· 在【链接服务器】输入对方服务器的IP地址
· 在【服务器类型】中选择【SQL Server】
如图2:
图2 输入常规信息
第三步
点击左侧的【安全性】,出现如下页面,在第3步中输入对方数据库的账号密码即可。如图3:
图3 输入对方数据库账号密码
点击确定后即创建成功,如下图4,可以看到创建好的链接服务器
图4 创建好的DBLINK
创建完成后会自动生成相关代码,密码用#隐藏了:
EXEC master.dbo.sp_addlinkedserver @server = N'192.168.110.189',@srvproduct=N'SQL Server';EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########'
我们就可以用创建好的DBLINK链接到对方服务器了
下面我们用创建好的试着查询对方服务器上的表来验证一下。
SELECT * FROM [192.168.110.189].[erp25new].[dbo].[fee_data]
SELECT * FROM [192.168.110.189].[库名].[dbo].[表名]
上面FROM字段后面依此是[DBLINK名].[对方数据库名].[对方数据库下模式名].[对方数据库表名],表名前面的这些内容一个都不能少。查询结果如下图:
图5 查询结果
创建SQL Server远程链接方法二
安装方法一种的第一步点开新建链接服务器后,开始如下操作。
第一步
按如下步骤在弹出对话框中填写相关信息,如下图6:
· 【链接服务器】中填入链接名称,最好是服务器IP,方便辨别,这里使用自定义名称亦可。
· 【服务器类型】选择其他数据源
· 在【提供程序】中选择图中选项
· 【产品名称】填入自定义内容,亦可不填
· 【数据源】填入对方服务器IP地址
如图6 输入常规信息
第二步
与方法一种的类似,在安全性中填入对方服务器的账号密码即可
点击确定后即创建成功,如下图7,可以看到创建好的链接服务器:
图7 创建好的DBLINK
创建完成后会自动生成相关代码,密码用#隐藏了:
EXEC master.dbo.sp_addlinkedserver @server = N'TEST_SQL_SERVER',@srvproduct=N'TEST',@provider=N'SQLNCLI11', @datasrc=N'192.168.110.189'EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'TEST_SQL_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########'
上述代码中的字段含义可以参考我另外一篇推文,链接如下:
SQL Server学习之路(五)——DBLINK的用法
查询对方数据库验证方法与方法一类似,只是将数据库名改成自定义名称即可:
SELECT * FROM [TEST_SQL_SERVER].[erp25new].[dbo].[fee_data]
好了,今天先介绍到这里,下次再给大家讲解从SQL Server链接到Oracle和MYSQL的具体操作方法,记得关注哦~
SQL Server跨服务器操作数据库的更多相关文章
- SQL Server 跨服务器操作
Ø 简介 在工作中编写 SQL 时经常会遇到跨库或跨服务器操作,比如查询时,通过 A 服务器的某张表关联 B 服务器某张表,进行连接查询.或者从另一台服务器中的数据,对当前数据库中的数据进行 CRU ...
- SQL Server跨服务器的数据库迁移
1. 使用sql server task中back up 任务,保存为*.bak 文件. 2. 在另一个server中restore database,如果已经存在这个database,会覆盖之前的数 ...
- SQL Server 跨服务器 不同数据库之间复制表的数据
不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数据库 ...
- SQL Server跨服务器建立视图
create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...
- SQL Server跨服务器查询的实现方法,OpenDataSource
SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...
- 问题:sqlserver 跨服务器连接;结果:Sql Server 跨服务器连接
Sql Server 跨服务器连接 用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset ...
- SQL Server不同服务器不同数据库间的操作
什么是跨服务器操作? 跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查. 为什么要进行跨服务器操作 随着数据量的增多,业务量的扩张,需要在不 ...
- Sql Server 跨服务器连接
用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...
- sql server 跨库操作
SELECT *FROM OPENDATASOURCE('SQLOLEDB','Data Source=sql服务器名;User ID=用户名;Password=密码;').PersonDb.dbo. ...
随机推荐
- 树莓派上 Docker 的安装和使用
Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不 ...
- WebKit应用程序开发的起因
公司的Web管理界面,用起来还可以,但是有一个问题一直无法解决. 在web页面上需要播放视频,由于比较这个功能比较老,不支持web模式播放,只支持CS模式,具体原因及不说了. 于是有了 winform ...
- 在vue项目中使用axios
安装 cnpm i axios --save-dev 在项目main.js中全局引用 import axios from "axios" Vue.prototype.$http=a ...
- sass环境搭建之node-sass,ruby
该内容全部为搬运,感谢作者的分享~,附有原文链接. 使用ruby环境 SASS学习系列之(一)--------- SASS,SCSS环境搭建(Ruby) 使用node-sass SASS学习系列之(二 ...
- SpringCloud微服务
SpringCloud SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.负载均衡.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行 ...
- 数据库服务器和web服务器磁盘占用查询
对于Oracle数据库而言磁盘空间主要体现在表空间上,可使用sql语句进行查看Oracle 表空间的大小及使用情况: select sum(bytes)/1024/1024/1024 "Gb ...
- c# NPOI aspx导出数据
public static class XSSFWorkbook_Excel { /// <summary> /// GetExcel /// </summary> /// & ...
- 汇编语言中 cs, ds,ss 的区别
CS(Code Segment):代码段寄存器:DS(Data Segment):数据段寄存器:SS(Stack Segment):堆栈段寄存器:ES(Extra Segment):附加段寄存器.当一 ...
- Xamarin 自定义OnKeyDown 再按一次退出程序的实现
private DateTime? lastBackKeyDownTime; public override bool OnKeyDown(Keycode keyCode, KeyEvent e) { ...
- Automatic Annotation of Airborne Images by Label Propagation Based on a Bayesian-CRF Model
贝叶斯+全连接条件场,无人机和航片数据,通过标注航片数据自动生成无人机标注数据,具体不懂