SQL Server 创建链接服务器配置步骤与存储过程示例
SQL Server 提供了链接服务器功能,允许用户通过 T-SQL 对 OLE DB 数据源进行分布式异类查询。通过合理配置 sp_addlinkedserver、sp_serveroption 和 sp_addlinkedsrvlogin,可以实现远程数据库的安全访问与操作。
配置目标
完成以下三步配置后,当前 SQL Server 实例即可连接到名为 DB1 的远程服务器,并执行分布式查询或远程存储过程调用。
准备条件
- 网络连通性:确保本地服务器能通过网络访问远程服务器的 IP 地址。
- 权限要求:用于创建链接服务器的登录名必须是系统管理员(sysadmin)固定服务器角色的成员,或者具有 ALTER ANY LINKED SERVER 权限。
- 远程凭据:获取远程服务器的账号和密码(如本例中的 '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 分布式查询配置的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









