当前场景如下:我们正在使用一些旧版自定义软件,开发人员使用 IP 地址通过 Windows 身份验证连接到数据库所在的 SQL Server。
我们的所有服务器都位于一个子网中(SQL Server 和 Active Directory)。 我们的客户从不同的子网连接。
以下是每个场景和连接性能:
在我们的子网中(与 SQL Server 子网不同):当我们使用基于域的身份验证的 IP 地址连接到服务器时,连接速度非常慢
如果我们在服务器子网上尝试上述场景,一切都很快并且按预期工作
如果我们尝试场景 #1 但使用服务器 DNS 名称作为连接(而不是 IP),一切都会运行得很快(但开发人员表示这会在某些功能中出现问题)
当我使用 SQL Server Management Studio 或任何其他软件时,同样的情况也适用。所以问题与网络/活动目录/DNS 相关,但我找不到确切的解决方案。
以下是针对使用 Windows Auth 的 SQL Server 连接速度缓慢的快速解决方案:
重点关注 DNS 和 Kerberos:
验证 DNS: 确保 SQL Server 的主机名跨子网正确解析。
强制实施 Kerberos: 使用适用于 SQL Server 的正确服务主体名称 (SPN) 配置 Kerberos。这可以加快身份验证速度。
这些步骤应该可以提高连接速度而不影响安全性。