本文详细介绍了利用SQL Server链接服务器实现跨库查询的实战指南,需在本地数据库配置中添加链接服务器,设置远程服务器名、数据源及登录凭据,配置完成后,可通过“四部分命名法”(本地库名.链接名.远程库名.表名)或 OPENQUERY 函数直接执行跨库查询,从而高效整合两个不同数据库的数据资源。在现代企业级应用开发中,数据往往分散在不同的数据库服务器上,对于使用 Microsoft SQL Server 的开发者或 DBA(数据库管理员)处理跨库查询是一个常见的需求,如果不进行数据迁移或复制,直接访问另一个数据库的表会显得非常麻烦。
这时,两个SQL Server数据库链接服务器技术就派上了用场,通过配置链接服务器,你可以在当前的数据库中,像访问本地表一样去访问远程数据库中的数据。
本文将详细介绍什么是链接服务器,以及如何一步步创建和使用它。

什么是链接服务器?
链接服务器是 SQL Server 提供的一种机制,它允许一个 SQL Server 实例引用另一个 SQL Server 实例(或其他 OLE DB 数据源)中的表、视图或存储过程,它就像是两台服务器之间的“桥梁”。
为什么需要建立两个SQL Server数据库链接服务器?
- 数据整合与报表: 财务报表可能需要同时从“销售数据库”和“库存数据库”中取数。
- 遗留系统集成: 某些旧系统数据保存在独立的 SQL Server 实例中,新系统需要读取这些历史数据。
- 避免数据复制: 不需要将数据实时复制到主数据库中,而是保持数据物理分离,通过查询获取。
如何创建链接服务器?
建立两个SQL Server数据库链接服务器通常有两种方法:使用图形化界面(SSMS)和使用 T-SQL 脚本。
使用 SSMS 图形化界面(推荐新手)
- 打开 SQL Server Management Studio (SSMS)。
- 在“对象资源管理器”中,展开“服务器对象”节点。
- 右键点击“链接服务器”,选择“新建链接服务器”。
- 在弹出的窗口中填写以下信息:
- 常规:
- 链接服务器:输入你给这个连接起的名字(
LINK_SALES_DB)。 - 服务器类型:选择“SQL Server”。
- 提供程序名称:通常保持默认的
SQLNCLI或SQLNCLI11(SQL Server Native Client)。 - 数据源:输入目标服务器的名称或 IP 地址。
- 链接服务器:输入你给这个连接起的名字(
- 安全性:
- 登录名:选择“使用此安全上下文建立连接”。
- 登录名:输入在目标服务器上具有权限的账号(建议使用专用账号,不要用 sa)。
- 密码:输入对应的密码。
- 常规:
- 点击“确定”保存。
使用 T-SQL 脚本(推荐自动化部署)
如果你需要在部署脚本中自动创建链接服务器,可以使用 sp_addlinkedserver 和 sp_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原创文章,转载或复制请以超链接形式并注明出处。

