延迟连接到SQL Server命名实例?

时间:2013-08-15 11:19:00

标签: sql sql-server networking

我遇到了一个有趣的问题。我刚刚安装了SQL Server 2012 Developer Edition以及SQL Server 2008 R2 Developer Edition的现有安装。原始的2008 R2版本是默认实例,新安装是名为\ DEV。

的命名实例

到目前为止,这么好。要启用远程连接,我必须为新实例启用命名管道和TCP / IP,并将SQL Browser的登录帐户更改为本地系统。我还明确地在本地防火墙上打开了UDP 1434。

因此,新连接现在需要20秒+来建立与新实例的连接,但几乎会立即连接到旧实例(2008 R2)。在SQLCMD中,我必须使用-l30覆盖连接超时。在SSMS中,初始连接失败,但后续重新连接立即发生。与其他客户端(如RedGate Backup Pro)连接会显示相同的问题 - 我需要将连接超时修改为最少30秒。将网络数据包大小从4096减半到2048也有帮助。

我查了SQL浏览器,文件详细信息显示版本是11.x.x.x.与网络团队一起检查,应该不会阻碍与外部防火墙等的TCP / UDP流量(此外,来自同一子网中的客户端的连接也有同样的问题)。

有人有什么想法吗?令人气愤的是。提前谢谢。

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为当您查找SQL的命名实例时,实际上是在该框上连接到SQL Discovery Service并查找命名实例信息,即IP地址和端口号。如果您在SSMS中提供了ServerName,Port#或连接字符串,则连接几乎是即时的,因为您正在跳过查找实例的步骤。