今天给大家来分享一下跨服务器操作数据库,还是以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跨服务器操作数据库的更多相关文章

  1. SQL Server 跨服务器操作

    Ø  简介 在工作中编写 SQL 时经常会遇到跨库或跨服务器操作,比如查询时,通过 A 服务器的某张表关联 B 服务器某张表,进行连接查询.或者从另一台服务器中的数据,对当前数据库中的数据进行 CRU ...

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

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

  3. SQL Server 跨服务器 不同数据库之间复制表的数据

    不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数据库 ...

  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. 问题:sqlserver 跨服务器连接;结果:Sql Server 跨服务器连接

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

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

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

  8. Sql Server 跨服务器连接

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

  9. sql server 跨库操作

    SELECT *FROM OPENDATASOURCE('SQLOLEDB','Data Source=sql服务器名;User ID=用户名;Password=密码;').PersonDb.dbo. ...

随机推荐

  1. 第七篇:ORM框架SQLAlchemy

    阅读目录 一 介绍 二 创建表 三 增删改查 四 其他查询相关 五 正查.反查 一 介绍 SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进 ...

  2. Hive UDF函数构建

    1. 概述 UDF函数其实就是一个简单的函数,执行过程就是在Hive转换成MapReduce程序后,执行java方法,类似于像MapReduce执行过程中加入一个插件,方便扩展.UDF只能实现一进一出 ...

  3. oracle连接出现的坑

    一.错误代码提示 请输入用户名:  SYS 输入口令: ERROR: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER 二.解决方 ...

  4. C# 反射(转)

    什么是反射 Reflection,中文翻译为反射.        这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’.‘模块(Module)’.‘类型 ...

  5. 小a与军团模拟器

    题目描述 9102 年伊始,小a觉得山羊模拟器,乞丐模拟器之类的都太低级了,所以想自己建立一个征战天下的军团模拟器. 军团模拟器是在一个城市数为N的国家中运行的,每个城市都会通过一些道路和其他所有城市 ...

  6. LeetCode 971. Flip Binary Tree To Match Preorder Traversal

    原题链接在这里:https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/ 题目: Given a bina ...

  7. Python面向对象 -- slots, @property、多重继承MixIn、定制类(str, iter, getitem, getattr, call, callable函数,可调用对象)、元类(type, metaclass)

    面向对象设计中最基础的3个概念:数据封装.继承和多态 动态给class增加功能 正常情况下,当定义了一个class,然后创建了一个class的实例后,可以在程序运行的过程中给该实例绑定任何属性和方法, ...

  8. omnibus-gitlab 架构学习

    omnibus-gitlab是gitlab 团队fork 自chef 的omnibus 项目,同时做了一些自定义的开发,omnibus-gitlab 简化了 gitlab 的部署以及维护,同时里边集成 ...

  9. gj的交换机在升级了ios之后最新数据不刷新,

    下午2点开始升级5点结束,之后监控项获取不到最新数据,显示网络接口一直是down的状态,但是登上设备之后显示的是正常up状态, 怀疑是自动发现规则的问题,但是查看之后都是1个小时,应该不会, 这时候诡 ...

  10. 微信小程序敏捷开发实战

    wxml->wcc编译->javascript 用户javascript-> wawebview->view 小程序原理 微信 小程序-> webview appserv ...