我有两个 sql 实例:
server-A 上的
instance-1,server-R 上的 instance-2。
两个实例都在不同的域上。我可以成功地从服务器 R 远程连接到实例 1,但我无法从服务器 A 连接到实例 2。
当我尝试连接时,它会抛出错误 26。我已允许端口 1433,1434 通过防火墙,并且 SQL Browser 服务正在两台服务器上运行。
我忽略了哪些可能的事情?
我有两个 sql 实例:
server-A 上的
instance-1,server-R 上的 instance-2。
两个实例都在不同的域上。我可以成功地从服务器 R 远程连接到实例 1,但我无法从服务器 A 连接到实例 2。
当我尝试连接时,它会抛出错误 26。我已允许端口 1433,1434 通过防火墙,并且 SQL Browser 服务正在两台服务器上运行。
我忽略了哪些可能的事情?
MSDN 博客上有一篇关于此的文章。 单击此处阅读:错误:26 - 错误定位服务器/指定的实例
文章建议:
客户端堆栈无法从 SQL 浏览器接收 SSRP 响应 UDP 数据包。很容易隔离问题。以下是步骤:
1) 确保您的服务器名称是正确的,例如,名称上没有错字。
2)确保您的实例名称正确,并且您的目标机器上确实有这样的实例。[更新:一些应用程序转换
\\ to \.
如果您不确定您的应用程序,请Server\Instance and Server\\Instance
在您的连接字符串中尝试两者]3) 确保服务器机器可访问,例如,DNS 可以正确解析,您可以 ping 服务器(并非总是如此)。
4) 确保 SQL Browser 服务正在服务器上运行。
5) 如果服务器启用了防火墙,则需要将 sqlbrowser.exe 和/或 UDP 端口 1434 置于异常中。
根据您已经尝试过的内容,可能是名称拼写错误、DNS 或Server\Instance and Server\\Instance
在您的连接字符串中尝试两者。
MSDN 文章还有其他需要查看的注释。
关于错误 26 以下链接可能会对您有所帮助:
问题的来源很可能是由于实例 2,而不是服务器 A。
如果您打开了 sqlbrowser 端口,还要检查它是否真的通过命令提示符进行侦听。