构建SQL Server链接服务器:实现跨服务器数据访问及整合

news2024/11/27 18:50:37

点击上方蓝字关注我

d436b8742cca32d877152e286b8d5c72.png

    在SQL Server数据库管理中,链接服务器是一项强大的功能,允许在一个SQL Server实例中访问另一个SQL Server实例的数据。这种功能为数据库管理员提供了灵活性,使其能够跨不同服务器进行数据交互,开辟了更多的应用场景。本文将介绍链接服务器的作用、何时使用以及通过一个案例详细说明如何在SQL Server中创建和使用链接服务器。

1.  链接服务器的作用

链接服务器充当了数据库之间的桥梁,使得我们可以在一个SQL Server实例上通过四部分名称引用另一个SQL Server实例上的对象。这种跨服务器的数据访问提供了以下几个主要优势:

数据整合: 允许从不同的SQL Server实例中检索和操作数据,实现数据的整合和集中管理。

  • 分布式查询: 可以在多个服务器之间执行分布式查询,提高系统性能和灵活性。

  • 跨服务器事务: 支持在链接服务器之间执行跨服务器事务,确保数据的一致性和可靠性。

何时使用链接服务器:

在以下情况下,使用链接服务器是合适的:

  • 数据整合需求: 当需要将来自不同服务器的数据整合到一个中心数据库中时,链接服务器是一个理想的选择。

  • 分布式系统: 在分布式系统中,通过链接服务器可以轻松地在不同的服务器上执行查询和操作。

  • 数据分析和报告: 需要在一个数据库中汇总和分析来自多个服务器的数据时,链接服务器提供了便捷的途径。

2.  创建和使用链接服务器

创建链接服务器的脚步如下:

-- 设置 NOCOUNT 以禁用在此过程中的计数消息的返回
SET NOCOUNT ON


-- 检查链接服务器是否存在,如果不存在则创建
IF ((SELECT COUNT(*) FROM master..sysservers WHERE srvname = 'LinkedServerName') = 0) 
BEGIN
    -- 删除链接服务器(如果存在)
    EXEC sp_dropserver 'LinkedServerName', 'droplogins'


    -- 添加链接服务器
    EXEC sp_addlinkedserver 
        @server = N'LinkedServerName',
        @srvproduct = N' ',
        @provider = N'SQLOLEDB',
        @datasrc = N'ServerName',  -- 这是目标服务器的名称或IP地址
        @catalog = N''   -- 目标服务器上的默认数据库


    -- 添加链接服务器的登录信息
    EXEC sp_addlinkedsrvlogin 
        'LinkedServerName',
        'false',
        NULL,
        'Username',  -- 目标服务器上的登录用户名
        'Password'   -- 目标服务器上的登录密码


    -- 设置链接服务器的选项
    EXEC sp_serveroption 'LinkedServerName', 'rpc', true
    EXEC sp_serveroption 'LinkedServerName', 'rpc out', true
END

使用链接服务器访问另一个实例的表就可以采用如下方式直接类似于在相同实例中访问不同库的表:

-- 查询链接服务器上的表
SELECT * FROM LinkedServerName.DatabaseName.SchemaName.TableName

链接服务器是SQL Server中强大而灵活的功能,它为使用者提供了跨服务器进行数据访问和管理的能力。其它数据库(例如Oracle)也有类似的DBLINK的方式跨实例访问,但是MySQL中如何访问呢?未完待续。。。

d3d5ad641c5b481f26574455498e089c.png

往期精彩回顾

1.  MySQL高可用之MHA集群部署

2.  mysql8.0新增用户及加密规则修改的那些事

3.  比hive快10倍的大数据查询利器-- presto

4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

5.  PostgreSQL主从复制--物理复制

6.  MySQL传统点位复制在线转为GTID模式复制

7.  MySQL敏感数据加密及解密

8.  MySQL数据备份及还原(一)

9.  MySQL数据备份及还原(二)

fea0adda3c8b4e4d1c6a7a053d84e397.png

扫码关注     

e6d5c0a179d6175a69a76e06a7716e42.jpeg

0cb07845c803ebe4621f5f62cec3e63f.png

a479304b190f0e6fa4e00c034f17bb6a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1257132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

realname,soname和linkname

背景 当在看/lib下的一些文件时候,我们发现几乎都是三个动态库文件,为啥? 分析 当我发布一个动态库的时候,比如版本是maj.min.patch(10.2.1)的格式,当我改了小版本的号的时候(10…

牛客网刷题笔记四 链表节点k个一组翻转

NC50 链表中的节点每k个一组翻转 题目: 思路: 这种题目比较习惯现在草稿本涂涂画画链表处理过程。整体思路是赋值新的链表,用游离指针遍历原始链表进行翻转操作,当游离个数等于k时,就将翻转后的链表接到新的链表后&am…

【Flutter 常见问题系列 第 1 篇】Text组件 文字的对齐、数字和字母对齐中文

TextStyle中设置height参数即可 对齐的效果 Text的高度 是根据 height 乘于 fontSize 进行计算的、这里指定heiht即可、不指定的会出现 无法对齐的情况,如下: 这种就是无法对齐的情况

成为AI产品经理——模型评估(混淆矩阵)

一、混淆矩阵 1.混淆矩阵的介绍 混淆矩阵有两个定义positive(正例)和negative(反例)。分别代表模型结果的好和坏。 下图就是一个分类问题的混淆矩阵。横行代表真实的情况,而竖行代表预测的结果。 为了便于理解&…

原神「神铸赋形」活动祈愿现已开启

亲爱的旅行者,「神铸赋形」活动祈愿现已开启,「单手剑静水流涌之辉」「法器碧落之珑」概率UP! 活动期间,旅行者可以在「神铸赋形」活动祈愿中获得更多武器与角色,提升队伍的战斗力! 〓祈愿时间〓 4.2版本更…

VS2022 17.8: Build Insights 中的函数视图

简述 今天,我们很高兴的宣布在 Visual Studio 中为 Build Insights 新增了一项新功能:函数视图(Functions View)。 此功能在 Visual Studio 2022 v17.8 版本中可用。函数视图可以为你的代码库中的函数和强制内联(For…

C++学习之路(四)C++ 实现简单的待办事项列表命令行应用 - 示例代码拆分讲解

本期示例介绍: 本期示例《待办事项列表应用》展示了一个简单的任务管理系统,用户可以通过命令行界面执行添加任务、删除任务和显示任务列表等操作。 功能描述: 添加任务功能: 用户可以输入任务描述,将新的任务添加到任务列表中。…

基于SpringBoot+Vue的蛋糕商城【源码好优多】

简介 蛋糕商城首页、注册、登录、浏览商品、购物车、下单、收藏商品、个人中心、管理员登录、角色管理、日志管理、菜单管理、轮播图管理、商品类别管理、商品管理、用户管理、订单管理、收货地址管理等功能模块。 项目目录 数据库 首页 用户注册 登录 商品详情 个人信息 购物车…

【第二节:微信小程序 app.json配置】微信小程序入门,以思维导图的方式展开2

以思维导图的方式呈现出来,是不是会更加直观一些呢 如果看不清楚,私信给单发 : 第二节:微信小程序 app.json配置: 包括: window pages tabBar networkTimeout debug 如下图所示: 2、ap…

常见树种(贵州省):022绣线菊、月月青、金合欢、胡枝子、白刺花

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、绣线菊…

linux之下安装 nacos

1 下载地址 也可使用在线下载wget https://github.com/alibaba/nacos/releases/download/1.4.6/nacos-server-1.4.6.tar.gzTags alibaba/nacos GitHuban easy-to-use dynamic service discovery, configuration and service management platform for building cloud nativ…

SWT/Jface(3): 表格中添加超链接

背景 实际业务中经常需要展示某个网站, 并且希望在展示的时候单击网站可直接访问, 本节演示在表格中如何添加超链接支持. 需求 假设我需要渲染一个Study类, 它只有三个属性id,name和website, 其中id只支持展示, name只支持编辑, 而website只支持单击时跳转到相应的网站, 效果…

软件介绍02- flameshot截图软件(linux系统可用)

1 软件介绍 在Windows和mac平台一直都使用着snipaste截图,非常好用,又能够钉图。遗憾是并没有开发linux版本,真不知道为什么。 好在终于找到一款截图软件,flameshot截图软件,可以平替snipaste。 下载网址:…

kali linux英文改中文

如果英语基础较好的同学可以不用调整 反之则需要 找到终端(就是输入命令的那个地方 如下)点击它出现命令终端 切换为root用户,命令为: sudo dpkg-reconfigure locales 然后回车 找到这个zh_CN 然后回车 鼠标下键选中并且回车 输…

【RTP】1: RTPSenderAudio::SendAudio

RTPSenderAudio 可以将一个opus帧封装为rtp包进行发送,以下是其过程:RTPSenderAudio::SendAudio :只需要提供payload部分 创建RtpPacketToSend 并写入各个部分 填充payload部分 sender 本身分配全session唯一的twcc序号 if (!rtp_sender_->

Linux系统---僵尸进程、孤儿进程

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 键盘敲烂,年薪百万! 有了上一篇博客的学习,我们已经简单了解了进程的基础知识,今天我们再来学习两个特殊的进程,僵尸进程和孤儿进程。 …

【STL】string类 (下)

目录 1,insert 2,erase 3,find 4,replace 5,rfind 6,substr 7,find_first_of 8,find_first_not_of 9,find_last_of 10,operator 11,ge…

mysql从库设置为只读

直奔主题,mysql设置为只读后,无法增删改。 设置命令: mysql> set global read_only1; #1是只读,0是读写 mysql> show global variables like %read_only%; 以下是相关说明: 1、对于数据库读写状态&#xf…

[C/C++]数据结构 堆的详解

一:概念 堆通常是一个可以被看做一棵完全二叉树的数组对象,它是一颗完全二叉树,堆存储的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并且需要满足每个父亲结点总小于其子节点(或者每个父亲结点总大于其子节点) 堆可以分为两种: 小堆: 任意一个父亲节点都小于其子…

【docker系列】docker高阶篇

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…