一、问题描述:SqlServer可以连接查询外部服务器数据库,但是需要创建存储过程,否则会报如下错误:
消息 7202,级别 11,状态 2,第 1 行 在 sys.servers 中找不到服务器 '47.111.131.209'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。
二、解决问题:要解决这个问题,你可以执行以下步骤:
1、查看当前链接情况:
select * from sys.servers;
验证服务器名称:确保你提供的服务器名称('47.111.131.209')是正确的,并且已经正确输入。检查服务器的 IP 地址、主机名或别名等是否正确。
添加链接服务器:如果服务器名称确实正确,但该服务器尚未在 SQL Server 中注册,则需要使用 sp_addlinkedserver 存储过程来添加链接服务器。以下是一个示例代码:
EXEC sp_addlinkedserver @server = N'47.111.131.209', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'47.111.131.209';
在上述代码中,@server 参数指定了服务器名称,@srvproduct 和 @provider 参数用于指定服务器类型和提供程序,@datasrc 参数指定了服务器的数据源。
注意:根据你的实际情况,可能需要调整存储过程中的参数值。
验证链接服务器:添加链接服务器后,你可以尝试重新执行原始操作,验证是否成功连接到指定的服务器。
请注意,添加链接服务器可能涉及一些安全性考虑和访问权限配置,请确保你具有足够的权限来执行这些操作,并且在进行任何更改之前备份数据库。
2、使用sp_addlinkedsrvlogin 来增加用户登录链接
EXEC sp_addlinkedsrvlogin '47.111.131.209', --被访问的服务器别名(如果上面sp_addlinkedserver中使用别名JOY,则这里也是JOY) 'false', NULL, 'sa', --帐号 'admin20231221' --密码
这样就可以实现外部数据库连接查询数据库,
文章评论(0)