【发布时间】:2014-10-20 15:15:35
【问题描述】:
我有一个带有 SQL Server Management Studio 2012 客户端的 Windows 8.1 桌面机器,该客户端托管 Hyper-V VM(Windows Server 2012 和 SQL Server 2012 Enterprise)。几个月来我一直在使用它进行开发工作,但上周的某个时候我开始收到此错误每次我尝试使用桌面计算机上的 SSMS 进行连接。
连接超时。
超时时间已过,而 尝试使用登录前握手确认。这 可能是因为登录前握手失败或服务器 无法及时回复。尝试时花费的持续时间 连接到此服务器是 - [预登录] 初始化 = 21045; 握手=0; (Microsoft SQL Server,错误:-2)
我已经看到这篇文章Connection to SQL Server Works Sometimes 并没有解决我的问题。
- 来自托管 VM 的桌面的 SSMS = 失败并出现上述错误
- 来自不同 Windows 8.1 机器的 SSMS(与桌面位于同一子网)= 成功
- 远程桌面会话上来自 VM 的 SSMS = 成功
- 来自不同 Win2012 服务器的 SSMS = 成功
同样,这是一个有效的设置,现在仅在托管 sql server VM 的桌面上开始失败。我尝试使用 SQL Server 帐户而不是 Windows 身份验证,但它仍然失败。我在两台机器(台式机和虚拟机)上都禁用了防火墙,但它仍然失败。已启用命名管道和 TCP/IP。 Fiddler 和 SQL Server Profiler 没有给我看。
任何进一步的故障排除指针?
【问题讨论】:
-
您可以访问文件共享等其他资源吗?
-
是的,我可以访问文件共享。
-
域成员身份、用户名等是否发生了变化。等等……
-
据我所知没有。作为开发人员,我不在其他机器所在的 OU 中的任何组策略下。我在笔记本电脑上使用相同的 AD 用户名,SSMS 连接成功。我在失败的桌面上使用静态 IP,但成功的服务器也是静态 IP。
-
hyper-v 机器上会不会有一些奇怪的网络策略...?如果网络级别有问题,这对我来说才有意义,但是您已经检查过防火墙,所以不是这样。网络连接基本上可以正常工作,因为您可以访问文件共享...嗯还有什么...您可以使用 Wireshark 吗?
标签: sql-server hyper-v