SQL Server 创建链接服务器配置步骤与存储过程示例

雨后青山
雨后青山
发布时间:2026-10-14 | 2人浏览过
原创

SQL Server 提供了链接服务器功能,允许用户通过 T-SQL 对 OLE DB 数据源进行分布式异类查询。通过合理配置 sp_addlinkedserver、sp_serveroption 和 sp_addlinkedsrvlogin,可以实现远程数据库的安全访问与操作。

配置目标

完成以下三步配置后,当前 SQL Server 实例即可连接到名为 DB1 的远程服务器,并执行分布式查询或远程存储过程调用。

准备条件

  1. 网络连通性:确保本地服务器能通过网络访问远程服务器的 IP 地址。
  2. 权限要求:用于创建链接服务器的登录名必须是系统管理员(sysadmin)固定服务器角色的成员,或者具有 ALTER ANY LINKED SERVER 权限。
  3. 远程凭据:获取远程服务器的账号和密码(如本例中的 'sa' 和 'password')。

真实操作顺序

第 1 步:创建链接服务器定义

目的:在本地实例中注册远程 OLE DB 数据源。
入口:SQL Server Management Studio (SSMS) 查询窗口。
动作:执行 sp_addlinkedserver 存储过程。
重要参数:

  • @server='DB1':链接服务器的别名。
  • @provider='SQLOLEDB':数据提供程序名称。
  • @datasrc='xxx.xxx.xxx.xxx':远程服务器的实际 IP 地址。
EXECUTE sp_addlinkedserver @server='DB1', @srvproduct='',@provider='SQLOLEDB',@datasrc='xxx.xxx.xxx.xxx'
GO

第 2 步:启用 RPC 选项

目的:允许从链接服务器调用远程存储过程及执行相关操作。
入口:同上查询窗口。
动作:使用 sp_serveroption 开启 rpc(远程过程调用)和 rpc out(调用远程过程回传结果)选项。
重要参数:

  • N'DB1':目标链接服务器名称。
  • N'true':启用状态。
EXECUTE sp_serveroption N'DB1', N'rpc out', N'true'
GO
EXECUTE sp_serveroption N'DB1', N'rpc', N'true'
GO

第 3 步:建立登录映射

目的:将本地登录名映射到远程服务器的安全账户,实现身份验证传递。
入口:同上查询窗口。
动作:执行 sp_addlinkedsrvlogin。
重要参数:

  • 'DB1':链接服务器名称。
  • 'false':禁止将本地登录映射为远程同名登录(此处指定了明确的远程凭据)。
  • NULL:针对所有本地用户生效。
  • 'sa':远程服务器的用户名。
  • 'password':远程服务器的密码。
EXECUTE sp_addlinkedsrvlogin 'DB1','false',NULL,'sa','password'
GO

完成判断

成功执行上述三个脚本块无报错后,即可以使用四段式命名法进行查询,例如:
SELECT * FROM DB1.master.dbo.sysobjects。若返回远程数据,则说明配置成功。

排错与维护

  • 检查远程 IP 是否可达。
  • 确认 SQL Server Browser 服务在远程服务器上是否运行(如果使用命名实例)。
  • 如果更改了链接服务器属性,可能需要重启服务或重新测试连接。

总结

通过标准存储过程组合,可以快速构建跨服务器的数据交互通道。请注意在生产环境中使用强密码策略限制远程访问权限。

以上就是 SQL Server 创建链接服务器的详细内容,更多关于 SQL Server 分布式查询配置的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表