我已经卡了两天,希望能得到一些帮助!
情况:我可以从我的开发机器(和另一个同事)连接到 SERVER\INSTANCE,但无法从另一个 SQL Server 连接。我收到的错误是通用的“...验证实例名称是否正确..”。我做/验证的事情如下:
我已禁用目标服务器(和源服务器)上的防火墙,以查看它是否是防火墙问题(由于我可以从我的机器连接,这似乎最有可能,但没有帮助)。
我已验证 SQL Browser 是否正常工作(因为我可以从开发机器连接)
由于两个 SQL 服务器都具有多个实例和硬编码端口,我甚至确保它们是不同的端口,以防有冲突(但这没有帮助)。
我已重启 SQL Server 并验证浏览器/实例服务正在运行
检查事件日志-没有值得注意的
有趣的是,如果我不通过实例名称连接而是通过第二个服务器上动态端口(即SERVER,PORT)进行连接,则可以正常工作-这表明 SQL Browser 有问题,除了在本地服务器和我的开发机器上正常工作外。
有什么想法和建议吗?谢谢。
编辑:为了澄清评论,我将把数据 SQL Server 称为 SQLA,非数据 SQLB。
编辑#2:添加更多测试用例/信息:
信息:上述测试都是通过 SSMS 接口进行的,以建立到数据库的连接,涉及的数据库均为 2012。
新测试用例:我尝试运行一个脚本来设置链接服务器,结果发现在 SQL Server 2005 箱上运行脚本很好用,但在 SQL Server 2012 服务器(SQLB)上运行相同的脚本无法连接到 SQLA,并显示错误:SQL Server Network Interfaces:Error Locating Server/Instance Specified [xFFFFFFFF]。
编辑#3:缩小潜在问题范围:
下载并运行了PortQry,在我的开发机上查询1434号端口时,所有实例都被返回。但是从SQLB运行相同的查询,没有实例被返回,并且它将1434标记为已过滤,而在开发机上则返回为已列出。我只能想到这与防火墙有关,尽管我已在两台机器上禁用了防火墙。