通过计算机名称使用 Windows 凭据连接到 SQL 实例时出现问题,但可以通过 FQDN 连接

Having issues connecting to SQL instance using Windows credentials by computer name but can connect by FQDN

这是我第一次 post 来到这里,所以对于任何格式 issues/inexperience 我深表歉意。

我有一个带有两个实例(默认实例和命名实例)的 SQL 服务器。

SQL 服务器最初加入了一个域,但后来加入了一个新域。

当我在 SQL 服务器 (MySQLServer\MyInstance) 上本地连接到命名实例时,我能够使用 Windows 身份验证登录。

但是,当我尝试从该域中的另一台服务器连接到 MySQLServer\MyInstance 时,出现错误

The target principal name is incorrect. Cannot generate SSPI context

Windows 帐户设置了 SPN read/write 帐户 运行 服务权限(返回 "setspn -l newdomain\windowsaccount"(帐户 运行 SQL services)) returns 具有新域的 FQDN 的实例的预期 SPN 注册表。我也可以在远程服务器上使用 SQL 服务器凭据登录。

然而,当我尝试使用 FQDN(即 MySQLServer.newdomain.local\MyInstance)连接到命名实例时,它会让我使用 Windows 身份验证。有没有人见过这个或知道我能做些什么来解决?

我已经尝试刷新 DNS 并重新启动 SQL 和远程服务器,因此在重新启动时应考虑所有服务(这只是一个内部测试环境,因此不会影响任何客户端:)) .

如有任何想法或提示,我们将不胜感激!

我猜 MySQLServer 只是 MySQLServer.newdomain.local 的别名。所以我会检查您的 DNS 服务器在 (cmd/ps) nslookup MySQLServernslookup <<yourIPhere> 上回复了什么。

您还可以检查哪个用户是 运行 SQL 服务器服务有关 SPN 相关错误 or/and 使用 Tool provided by Microsoft.

另外,为您的新域重新注册 DNS 条目可能有助于避免 DNS 问题 (cmd):

ipconfig /registerdns

通常这是在域加入和重新启动中完成的,但根据我的经验,它有时会丢失。