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