返回顶部
首页 > 资讯 > 服务器 >SQL Server如何跨服务器操作数据库
  • 530
分享到

SQL Server如何跨服务器操作数据库

sql server数据库服务器 2022-11-30 23:11:44 530人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“sql Server如何跨服务器操作数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“SQL Server如何跨服务器操作数据库”文章能帮助大家解决疑惑,下面

本文小编为大家详细介绍“sql Server如何跨服务器操作数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“SQL Server如何跨服务器操作数据库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

基础知识介绍

SQL Server的数据库管理工具SSMS(SQL Server Management Studio)为平台进行操作。

SQL Server Management Studio (SSMS) 是用于管理SQL Server 基础结构的集成环境。 使用 SSMS,可以访问、配置、管理和开发 SQL Server、Azure SQL 数据库和 SQL 数据仓库的所有组件。 SSMS 在一个综合实用工具中汇集了大量图形工具和丰富的脚本编辑器,为各种技能水平的开发者和数据库管理员提供对 SQL Server 的访问权限。

SQL Server如何跨服务器操作数据库

什么是跨服务器操作?

跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查。

为什么要进行跨服务器操作

随着数据量的增多,业务量的扩张,需要在不同的服务器安装不同的数据库,有时候因为业务需要,将不同的服务器中的数据进行整合,这时候就需要进行跨服务器操作了。

跨服务器操作的工具是什么?

DBLINK(数据库链接),顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

方法一:用SSMS创建SQL Server远程链接服务器(LinkedServer)--简单链接到远程SqlServer

1. 打开SSMS -->登录到本地数据库 --> 服务器对象 --> 链接服务器(右键) --> 新建链接服务器,如下图:

SQL Server如何跨服务器操作数据库

2. 在弹出的对话框中输入相关信息

● 在【链接服务器】输入对方服务器的IP地址;

● 在【服务器类型】中选择【SQL Server】;

SQL Server如何跨服务器操作数据库

3. 点击左侧的【安全性】,出现如下页面,在第3步中输入对方数据库的账号密码即可。

SQL Server如何跨服务器操作数据库

点击确定按钮后,链接服务器(LinkedServer)就创建成功了。这时可以看到创建好的链接服务器:

SQL Server如何跨服务器操作数据库

查看链接服务器的代码: 在创建好的链接服务器上点右键,编写链接服务器脚本为 --> Create到 -->新查询编辑器窗口,即可打开刚刚创建的链接服务器的脚本。

SQL Server如何跨服务器操作数据库

--链接服务器(LinkedServer)创建完成后会自动生成相关代码 —— 链接到远程SQLServer数据库:

EXEC master.dbo.sp_addlinkedserver @server = N'192.168.110.189,1433',@srvproduct=N'SQL Server';
-- @rmtsrvname
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassWord='########';

注意: 这里有一个弊端,那就是链接的是整个远程SqlServer中的所有数据库(一般只需要一个特定的数据库),而且链接服务器的名称是个IP且无法自定义! 所以,最好的方式还是通过代码直接创建链接数据库(见“三、代码详解”)。

链接服务器(LinkedServer)就创建成功后,我们就可以用创建好的DBLINK链接到远程的Linked服务器了。下面我们用创建好的试着查询对方服务器上的表来验证一下。

--查询链接服务器(LinkedServer)中数据的方法: [DBLINK名].[对方数据库名].[对方数据库下模式名].[对方数据库表名]

SELECT * FROM [192.168.110.189].[erp25new].[dbo].[fee_data]

上面FROM字段后面依此是[DBLINK名].[对方数据库名].[对方数据库下模式名].[对方数据库表名],表名前面的这些内容一个都不能少。

查询结果如下图:

SQL Server如何跨服务器操作数据库

方法二:SSMS创建SQLServer链接服务器(LinkedServer)--自定义链接到SqlServer的其它数据库

1. 【常规】选择页:

SQL Server如何跨服务器操作数据库

2.【安全性】选择页:

SQL Server如何跨服务器操作数据库

自定义链接数据库到SQLServer【新建链接服务器】对话框中需输入的相关信息说明:

1.【常规】页

● 在【链接服务器】中,输入 自定义的链接服务器别名,如:DBLINK_TO_TESTDB

● 在【服务器类型】中选择【其他数据源】;

▶[提供程序]中选择 第一个Microsoft OLE DB Provider for SQL Server

▶[产品名称]中,可以空白不填,也可以填写SQL Server { 注意提供程序是OLE DB Provider for SQL Server时产品名称这里必须为空白!}

▶[数据源]中 远程数据库的地址,端口\实例名 ,如 10.10.0.73,1433\MSSQLSERVER

▶[访问接口字符串]中,可以空着不填; 也可以填下方的:(注意######是密码,请换成自己的密码)

Provider=sqloledb;Data Source=10.10.0.73,1433\MSSQLSERVER;Initial Catalog=TESTDB;User Id=apps;Password=#####;

▶[目录]就是数据库名称,这里填上我们需要远程连上的数据库 TESTDB (可以换成自己实际的)。

2.【安全性】页

● 选择【使用此安全上下文建立连接(M)】

▶[远程登录]: 远程数据库的连接账号

▶[使用密码]: 远程数据库连接账号的密码

--链接服务器(LinkedServer)创建完成后会自动生成相关代码 —— 链接到远程的SQLServer数据库(自定义):

EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'',@provider=N'SQLNCLI', @datasrc=N'10.10.0.73';EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'DBLINK_TO_TESTDB',@useself=N'False',@locallogin=NULL,@rmtuser=N'apps',@rmtpassword='########';



USE [master]

Go

EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'10.10.0.73,1433\MSSQLSERVER', @catalog=N'TESTDB'



EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST',@useself=N'False',@locallogin=NULL,@rmtuser=N'apps',@rmtpassword='########'

其他方式: 提供程序换成其它的, 如本机SQL Server Native Client 11.0 (SQL Server Native Client 11.0 不支持连接到SQL Server 2000或更早的版本) 等

SQL Server如何跨服务器操作数据库

方法三:用SSMS创建SQLServer链接服务器(LinkedServer)--链接到非SqlServer的其它数据库

SQL Server如何跨服务器操作数据库

四、代码详解:方法一和方法二是通过SSMS直接操作的,下方直接使用sql脚本来创建链接服务器(LinkedServer)

A. SSMS链接到远程SQLServer数据库

(本地SQLServer数据库链接服务器(LinkedServer)到远程SQLServer数据库。)

--LinkedServer链接到远程SQLServer数据库:

--1. 声明将要链接的‘链接名称(自定义)’,远程数据库产品名(或别名),(提供商,数据库服务器地址及实例名)

EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'SQL Server';

--2. 声明‘链接名称(自定义)’,@useself=N'False',@locallogin=NULL,将要链接的数据库服务器的账号和密码

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

B. SSMS链接到远程非SQLServer数据库

(本地SQLServer数据库链接服务器(LinkedServer)到远程非SQLServer的数据库。如远程的Mysqloracle等数据库。)

--链接到远程的非SQLServerd数据库(如链接到远程mysql、Oracle等数据库):

--1. 声明‘自定义的链接名称’,远程数据库产品名(或别名),提供商,数据库服务器地址及实例名

EXEC master.dbo.sp_addlinkedserver @server = N'TEST_SQL_SERVER',@srvproduct=N'TEST',@provider=N'SQLNCLI11', @datasrc=N'192.168.110.189';-

-2. 声明登录信息 ‘自定义的链接名称’,@useself=N'False',@locallogin=NULL,远程数据库的账号和密码

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST_SQL_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

实际例子-SQL Server通过Linkserver连接MySql

--通过SSMS链接到远程MySql数据库(SQL Server连接MySql)--使用的访问接口为:MySql Provider for OLE DB--

EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_MysqlTESTDB', @srvproduct = N'MySql', @provider = N'MSDASQL', @provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=10.167.69.6,3306/sytv;Database=TESTDB;User=root;Password=root;Option=3';--

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'DBLINK_TO_MysqlTESTDB', @useself = N'False', @locallogin = N'10.167.69.6,3306/sytv', @rmtuser = N'root', @rmtpassword = N'root';

实际例子-SQL Server通过Linkserver连接Oracle

--通过SSMS链接到远程Oracle数据库(SQL Server连接Oracle)

--使用的访问接口为:Oracle Provider for OLE DB

USE [master]

GO

--Declare Oracle OLEDB 'OraOLEDB.Oracle':

EXEC master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1;--Create the Linked Server to the ECT database in Oracle:

EXEC sp_addlinkedserver 'DBLINK_TO_OraTESTDB', 'Oracle', 'OraOLEDB.Oracle', '10.167.69.6/prt';--EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_OraTESTDB', @srvproduct=N'oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'10.167.69.6/orcl'

--Create the Remote Login for the Oracle Linked Server:

EXEC sp_addlinkedsrvlogin @rmtsrvname=N'DBLINK_TO_OraTESTDB',@useself=N'False',@locallogin=N'apps',@rmtuser=N'SYSTEM',@rmtpassword='######'; 

--最后可以测试一下是否连接成功 --select * from openquery(DBLINK_TO_OraTESTDB,'select * from SYSTEM.HELP');

读到这里,这篇“SQL Server如何跨服务器操作数据库”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网服务器频道。

--结束END--

本文标题: SQL Server如何跨服务器操作数据库

本文链接: https://lsjlt.com/news/173709.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQL Server如何跨服务器操作数据库
    本文小编为大家详细介绍“SQL Server如何跨服务器操作数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“SQL Server如何跨服务器操作数据库”文章能帮助大家解决疑惑,下面...
    99+
    2022-11-30
    sql server 数据库 服务器
  • SQL Server跨服务器操作数据库的图文方法(LinkedServer)
    基础知识介绍 以SQL Server的数据库管理工具SSMS(SQL Server Management Studio)为平台进行操作。 SQL Server Management Studio (SSMS) 是用于管理...
    99+
    2024-04-02
  • Sql server中如何操作以及创建数据库
    这篇文章主要介绍了Sql server中如何操作以及创建数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一.操作数据库二.创建表感谢你能...
    99+
    2024-04-02
  • SQL Server 跨库/服务器查询
    这里写目录标题 1 SQL Server 跨库/服务器查询1.1 跨库查询1.2 跨服务器查询1.2.1 创建链接服务器1.2.2 跨库查询 1.3 拓展:SQL Server 中所有权...
    99+
    2023-10-20
    服务器 sqlserver
  • SQL Server实现跨库跨服务器访问
    这篇文章给大家介绍SQL Server实现跨库跨服务器访问,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 首先创建两个数据库CrossLibraryTable1,CrossLibr...
    99+
    2024-04-02
  • 如何恢复XenServer服务器SQL Server数据库数据
    这篇文章主要讲解了“如何恢复XenServer服务器SQL Server数据库数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何恢复XenServer服务器SQL S...
    99+
    2023-06-29
  • SQL Server怎么跨数据库查询
    本篇内容介绍了“SQL Server怎么跨数据库查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基本语句SELECT *...
    99+
    2023-06-05
  • SQL Server如何通过SQL语句直接操作另一台服务器上的SQL SERVER的数据
    SQL Server如何通过SQL语句直接操作另一个SQL SERVER的数据 1、 现在执行SQL语句的数据库服务器开启Ad Hoc Distributed Queries  exec sp_configur...
    99+
    2024-04-02
  • SQL Server中怎么实现跨库跨服务器访问
    这篇文章将为大家详细讲解有关SQL Server中怎么实现跨库跨服务器访问,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 首先创建两个数据库CrossL...
    99+
    2024-04-02
  • python连接并简单操作SQL server数据库
    环境: pycharm 、SQLserver版本2019 首先,在pycharm中点击File,找到setting——project:***,点击”+“,引入pymssql库 编写代码连接数据库,并对数据库进行查询等简单操作(此处仅展示查...
    99+
    2023-09-04
    数据库 sqlserver pycharm
  • SQL Server 语句操纵数据库
    SQL语句的基本参数 create database benet //创建数据库,名为benet use benet ...
    99+
    2024-04-02
  • SQL SERVER 跨服务器查询
    exec sp_addlinkedserver   '别名', '', 'SQLOLEDB','服务器地址'exec sp_addlinkedsrvlogin '别名','false',...
    99+
    2024-04-02
  • SQL Server数据库分离和附加数据库的操作步骤
    目录1. 概述2. 分离数据库2.1 分离数据库的步骤3. 附加数据库3.1 附加数据的操作步骤总结 1. 概述 若要将数据库移动或更改到同一计算机的不同 SQL Server 实例,分离和附加数据库会很有用;...
    99+
    2024-04-02
  • SQL Server数据库分离和附加数据库的操作步骤
    目录1. 概述2. 分离数据库2.1 分离数据库的步骤3. 附加数据库3.1 附加数据的操作步骤总结 1. 概述 若要将数据库移动或更改到同一计算机的不同 SQL Serv...
    99+
    2022-11-13
    sqlserver分离和附加数据库 sql数据库分离与附加 数据库分离与附加的概念和方法
  • 如何使用SQL操作MySQL数据库
    本篇内容主要讲解“如何使用SQL操作MySQL数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用SQL操作MySQL数据库”吧!从本节开始正式介绍各种...
    99+
    2024-04-02
  • SQL Server如何创建数据库
    这篇文章给大家分享的是有关SQL Server如何创建数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQL Server 怎么创建数据库?首先启动“SQL Server M...
    99+
    2024-04-02
  • SQL Server如何创建数据库
    本篇内容主要讲解“SQL Server如何创建数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL Server如何创建数据库”吧!方...
    99+
    2023-03-01
    sql server 数据库
  • SQL Server数据库的基本操作语句总结
    这篇文章主要介绍“SQL Server数据库的基本操作语句总结”,在日常操作中,相信很多人在SQL Server数据库的基本操作语句总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • SQLServer跨服务器操作数据库的图文方法(LinkedServer)
    基础知识介绍 以SQL Server的数据库管理工具SSMS(SQL Server Management Studio)为平台进行操作。 SQL Server Management ...
    99+
    2022-11-13
    SQL Server跨服务器 操作数据库
  • Sql Server和Access操作数据库结构Sql语句有哪些
    这篇文章主要讲解了“Sql Server和Access操作数据库结构Sql语句有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作