SQL链接服务器创建后连接测试失败,报错求助
我来帮你捋捋这个问题——你遇到的是Named Pipes Provider返回的错误5,通常和连接配置、网络或者权限有关,下面是几个实用的排查和解决步骤:
检查目标SQL Server的Named Pipes协议状态
打开SQL Server配置管理器,找到目标服务器(10.237.69.11)对应的SQL Server网络配置,确认Named Pipes协议是启用状态。如果之前是禁用的,启用后记得重启SQL Server服务才能生效。验证网络与端口连通性
从创建链接服务器的本地机器上,先试试ping 10.237.69.11确认网络能通;接着用telnet 10.237.69.11 445检查Named Pipes默认端口是否开放。如果telnet连不上,大概率是目标服务器的防火墙拦截了445端口,需要在防火墙里添加允许该端口的入站规则,或者排查网络路由是否有问题。核对链接服务器的配置细节
检查链接服务器的登录映射:要么选择“使用登录的当前安全上下文”(前提是本地登录账号在目标服务器也有对应权限),要么指定目标服务器上存在且拥有足够权限的账号。另外,在链接服务器的“提供程序选项”里,勾选“允许进程内”选项,这个设置有时候能解决OLE DB提供程序的连接异常。尝试强制使用TCP/IP协议连接
既然Named Pipes出问题,咱们可以绕开它,改用TCP/IP协议。在创建链接服务器时,把数据源写成tcp:10.237.69.11,1433(1433是SQL Server默认TCP端口,如果目标服务器改了端口就换成对应数值),这样就能强制使用TCP/IP建立连接,很多时候能直接解决这个错误。
附你遇到的错误信息:
标题: Microsoft SQL Server Management Studio
已创建链接服务器,但连接测试失败。是否保留该链接服务器?
附加信息: 执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)
Named Pipes Provider: 无法打开SQL Server连接 [5]。
链接服务器"10.237.69.11"的OLE DB提供程序"SQLNCLI10"返回消息...
内容的提问来源于stack exchange,提问作者Adam




