SQL Server 配置链接服务器 sp_addlinkedserver 教程

栗子
栗子
发布时间:2026-10-15| 4人浏览过
原创

当需要在同一个 SQL Server 实例中访问其他本地或远程服务器上的数据库时,直接配置"链接服务器"是最标准且高效的做法。本文将详细演示如何利用 sp_addlinkedserver 和 sp_addlinkedsrvlogin 这两个核心系统存储过程,快速建立连接映射并执行跨库查询,同时包含删除链接的安全操作。

结果与目标

完成本操作后,你将在当前数据库中建立一个名为"链接别名"的虚拟对象。通过该别名,可以直接使用标准的 T-SQL(如 SELECT)语法查询位于其他服务器上的表数据,仿佛这些表就在本地一样,极大地简化了分布式数据的整合与分析工作。

真实操作顺序

第1步:清理旧有配置(可选)

目的:如果系统中已存在同名的链接服务器,直接创建会报错。为确保操作顺利,应先检查并清理旧的映射关系和服务器定义。
操作:打开 SSMS (SQL Server Management Studio),新建查询窗口,执行以下脚本删除指定别名的映射与服务器配置:

-- 步骤1:删除登录名映射
Exec sp_droplinkedsrvlogin 'ZYB',Null 

-- 步骤2:删除服务器链接定义
Exec sp_dropserver 'ZYB' 

第2步:创建链接服务器实体

目的:在当前的 SQL Server 实例中注册远程服务器的地址与驱动方式。
入口:SQL Server Management Studio → 目标数据库 → 新建查询。
动作:调用 sp_addlinkedserver 存储过程。以下为示例代码,将远程服务器定义为别名 'ZYB':

EXEC sp_addlinkedserver 
    @server='ZYB',          -- 被访问的服务器的本地别名(后续查询用的前缀)
    @srvproduct='',         -- 产品名称,通常留空
    @provider='SQLOLEDB',   -- OLE DB 驱动程序名称
    @datasrc='Server2'      -- 要访问的远程服务器IP或主机名

注意:上述代码假设目标机器名为 Server2,请根据实际 IP 地址替换 @datasrc 的值。对于较新的 SQL Server 版本,推荐使用 MSDASQL 或具体的驱动程序名称。

第3步:配置安全登录映射

目的:允许当前会话以特定身份连接到远程服务器。
入口:保持在新建的查询窗口中。
动作:调用 sp_addlinkedsrvlogin 进行安全上下文关联:

EXEC sp_addlinkedsrvlogin 
    'ZYB',              -- 对应的链接服务器别名
    'false',            -- 'false'表示不使用当前本地登录的用户名传递到远程
    NULL,               -- 本地登录名,NULL代表所有本地登录都适用
    'sa',               -- 远程服务器的登录账号
    'sa'                -- 远程服务器的登录密码

风险提示:在生产环境中硬编码 sa 管理员账号和密码具有较高安全风险,建议为远程服务器创建专用的低权限账号,或使用 Windows 集成认证替代明文密码。

第4步:验证与跨库查询

目的:确认连接正常,并测试跨库查询功能。
入口:当前数据库查询窗口。
动作:使用四段式命名法(链接别名.库名.dbo.表名)发起查询:

Select * from ZYB.CDCenter20110822.dbo.cardbase

若查询成功返回数据,说明链接服务器配置完毕且网络/权限通畅。可在左侧 Object Explorer 中的 Server Objects(服务器对象)→ Linked Servers 下查看新创建的条目。

简要总结

以上就是 SQL Server 中使用 sp_addlinkedserver 配置多库跨库查询的详细流程。通过正确配置别名、驱动程序及安全映射,即可轻松打破数据库孤岛。更多关于 SQL Server 数据库管理与高级查询的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。