当前位置: 首页 > article >正文

SQL server 创建DB Link 详解

在日常工作中,经常涉及到跨库操作,为使跨数据库的操作变得更加灵活高效,我们可以在 SQL Server 中建立数据库链接( DB Link),实现 SQL Server 数据库与其他数据库(如 Oracle, MySQL 等)的连接,以便进行数据查询、插入、更新等操作。

什么是链接服务器(Linked Server)?
链接服务器是 SQL Server 提供的一项功能,允许用户从 SQL Server 实例中访问其他 SQL Server 或非 SQL Server 数据源(如 Oracle、MySQL 等)。通过链接服务器,用户可以执行跨数据库查询,实现数据共享。

在本文中,我们将探讨如何为 SQL Server 创建一个 DB Link,并提供相应的代码示例。

数据库链接的建立步骤

1. 安装必要的驱动程序

在建立链接之前,确保 SQL Server 安装了与目标数据库相连接所需的 OLE DB 驱动程序。例如,如果要连接 Oracle 数据库,需安装 Oracle OLE DB Provider。如果是 MySQL,则需安装 MySQL ODBC Driver。

2. 创建 Linked Server

2.1 通过 SQL Server Management Studio (SSMS) 创建 Linked Server

步骤如下:

  • 打开 SSMS,连接到目标 SQL Server 实例。
  • 在对象资源管理器中,找到 “服务器对象”。
  • 右键点击 “链接服务器”,选择 “新建链接服务器”。

2.2 通过T-SQL创建 Linked Server

EXEC sp_addlinkedserver 
    @server='REMOTE_SERVER', 
    @srvproduct='', 
    @provider='SQLNCLI', 
    @datasrc='remote_data_source';

EXEC sp_addlinkedsrvlogin 
    @rmtsrvname='REMOTE_SERVER', 
    @useself='false', 
    @rmtuser='remote_username', 
    @rmtpassword='remote_password';

REMOTE_SERVER :定义新的 Linked Server 名称,既将要连接的服务器名称
remote_data_source: 数据源的地址
remote_username:目标数据库用户
remote_password:目标数据库用户密码

举例如下,在SQL Server数据库执行:

EXEC sp_addlinkedserver 
    @server='SOURCEDB', 
    @srvproduct='', 
    @provider='SQLNCLI', 
    @datasrc='10.192.128.10';

EXEC sp_addlinkedsrvlogin 
    @rmtsrvname='SOURCEDB', 
    @useself='false', 
    @rmtuser='testuser', 
    @rmtpassword='testuser';

3. 查询外部数据

创建链接服务器后,可以直接使用四部分名称形式进行查询:

SELECT * FROM OPENQUERY(REMOTE_SERVER, 'SELECT * FROM remote_table');

举例如下,查询远端目标数据库ABLE1的全部数据:

SELECT * FROM OPENQUERY(SOURCEDB, 'SELECT * FROM TABLE1');

参考:
https://blog.51cto.com/u_16213340/12531593
https://blog.51cto.com/u_16213372/12240219


http://www.kler.cn/a/533442.html

相关文章:

  • NOTEPAD++编写abap
  • 游戏引擎 Unity - Unity 下载与安装
  • AIGC(生成式AI)试用 20 -- deepseek 初识
  • 大年初六,风很大
  • 读算法简史:从美索不达米亚到人工智能时代05天气预报
  • TVM调度原语完全指南:从入门到微架构级优化
  • 亚马逊自养号测评系统搭建的全面指南
  • (2025|ICLR,音频 LLM,蒸馏/ALLD,跨模态学习,语音质量评估,MOS)音频 LLM 可作为描述性语音质量评估器
  • 复工大吉!全面掌握淘宝API接口,助力电商业务高效重启
  • Ollama+deepseek+Docker+Open WebUI实现与AI聊天
  • can not add outlook new accounts on the outlook
  • ARM Linux Qt使用JSON-RPC实现前后台分离
  • 设计模式学习(三)
  • Unity扩展编辑器使用整理(一)
  • Vue Router如何配置404页面
  • Ansible在多台服务器上运行python脚本
  • PostgreSQL rownum实现方法
  • Spark--算子执行原理
  • 莱佛士设计之旅:四城巡讲,启发未来设计之路
  • spring security与gateway结合进行网关鉴权和授权
  • GAN(生成对抗网络,Generative Adversarial Network)
  • 【Java】MyBatis动态SQL
  • PostgreSQL / PostGIS:创建地理要素
  • 网络安全--边界安全
  • AI赋能生态学暨“ChatGPT+”多技术融合在生态系统服务中的实践技术应用与论文撰写
  • ArrayList和Araay数组区别