实战指南,如何利用两个SQL Server数据库链接服务器实现跨库查询

admin
本文详细介绍了利用SQL Server链接服务器实现跨库查询的实战指南,需在本地数据库配置中添加链接服务器,设置远程服务器名、数据源及登录凭据,配置完成后,可通过“四部分命名法”(本地库名.链接名.远程库名.表名)或 OPENQUERY 函数直接执行跨库查询,从而高效整合两个不同数据库的数据资源。

在现代企业级应用开发中,数据往往分散在不同的数据库服务器上,对于使用 Microsoft SQL Server 的开发者或 DBA(数据库管理员)处理跨库查询是一个常见的需求,如果不进行数据迁移或复制,直接访问另一个数据库的表会显得非常麻烦。

这时,两个SQL Server数据库链接服务器技术就派上了用场,通过配置链接服务器,你可以在当前的数据库中,像访问本地表一样去访问远程数据库中的数据。

本文将详细介绍什么是链接服务器,以及如何一步步创建和使用它。

实战指南,如何利用两个SQL Server数据库链接服务器实现跨库查询

什么是链接服务器?

链接服务器是 SQL Server 提供的一种机制,它允许一个 SQL Server 实例引用另一个 SQL Server 实例(或其他 OLE DB 数据源)中的表、视图或存储过程,它就像是两台服务器之间的“桥梁”。

为什么需要建立两个SQL Server数据库链接服务器?

  1. 数据整合与报表: 财务报表可能需要同时从“销售数据库”和“库存数据库”中取数。
  2. 遗留系统集成: 某些旧系统数据保存在独立的 SQL Server 实例中,新系统需要读取这些历史数据。
  3. 避免数据复制: 不需要将数据实时复制到主数据库中,而是保持数据物理分离,通过查询获取。

如何创建链接服务器?

建立两个SQL Server数据库链接服务器通常有两种方法:使用图形化界面(SSMS)和使用 T-SQL 脚本。

使用 SSMS 图形化界面(推荐新手)

  1. 打开 SQL Server Management Studio (SSMS)。
  2. 在“对象资源管理器”中,展开“服务器对象”节点。
  3. 右键点击“链接服务器”,选择“新建链接服务器”。
  4. 在弹出的窗口中填写以下信息:
    • 常规
      • 链接服务器:输入你给这个连接起的名字(LINK_SALES_DB)。
      • 服务器类型:选择“SQL Server”。
      • 提供程序名称:通常保持默认的 SQLNCLISQLNCLI11 (SQL Server Native Client)。
      • 数据源:输入目标服务器的名称或 IP 地址。
    • 安全性
      • 登录名:选择“使用此安全上下文建立连接”。
      • 登录名:输入在目标服务器上具有权限的账号(建议使用专用账号,不要用 sa)。
      • 密码:输入对应的密码。
  5. 点击“确定”保存。

使用 T-SQL 脚本(推荐自动化部署)

如果你需要在部署脚本中自动创建链接服务器,可以使用 sp_addlinkedserversp_addlinkedsrvlogin 存储过程。

-- 1. 创建链接服务器对象
EXEC sp_addlinkedserver 
    @server = N'LINK_SALES_DB',        -- 链接服务器名称
    @srvproduct = N'SQL Server',       -- 产品名称
    @provider = N'SQLNCLI',            -- OLE DB 提供程序
    @datasrc = N'192.168.1.100';       -- 目标服务器IP或名称
-- 2. 映射登录名(允许当前服务器连接到目标服务器)
EXEC sp_addlinkedsrvlogin 
    @rmtsrvname = N'LINK_SALES_DB',    -- 链接服务器名称
    @useself = N'False',               -- 不使用当前登录名
    @locallogin = NULL,                -- 连接所有本地登录
    @rmtuser = N'target_user',         -- 目标服务器的登录名
    @rmtpassword = N'target_password'; -- 目标服务器的密码

如何查询数据?

配置完成后

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码