5

我有一个有趣的问题。我刚刚安装了 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.xxx 与网络团队检查,应该不会阻碍 TCP/UDP 流量与外部防火墙等(此外,来自同一子网中的客户端的连接有同样的问题)。

请问有人有什么想法吗?真让人生气。提前致谢。

4

1 回答 1

0

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

于 2014-02-11T21:05:58.633 回答