Pus*_*kar 0 sql-server sql-server-2014
Windows 返回代码:0x21c7,状态:15。未能注册 SPN 可能会导致集成身份验证使用 NTLM 而不是 Kerberos。这是一条情报信息。仅当身份验证策略需要 Kerberos 身份验证并且尚未手动注册 SPN 时,才需要采取进一步措施。
每当我重新启动我的 SQL 服务时,我都会遇到上述错误。我将其从当前服务帐户更改为本地帐户,并且能够从本地计算机连接到 SSMS,但是如果我使用当前服务帐户,则会出现此错误,并且在 SSMS 中,错误是:
目标主体名称不正确。无法生成 SSPI 上下文。
此服务帐户的密码不会更改。
当尝试注册已经存在但可能在不同帐户下的 SPN 时,您会特别收到错误“0x21c7,状态:15”。
在本地系统帐户下运行 SQL 服务时,会在 AD 中的计算机对象下注册一个 SPN。您可以从下面确认:
setspn -l ComputerName
Run Code Online (Sandbox Code Playgroud)
在上述结果中,如果您看到 MSSQLSvc 的任何 SPN,则需要在 AD 上使用以下命令删除它们(您需要为此具有域管理员权限),以便您可以在新的服务帐户下注册 SPN:
setspn -d MSSQLSvc/FQDN:XXXXXXXXXX ComputerName
Run Code Online (Sandbox Code Playgroud)
完成上述操作后,重新启动服务帐户下的 SQL 服务,它应该会在新服务帐户下成功注册 SPN,您将能够通过运行以下命令进行确认:
setspn -l DomainName\LoginName
Run Code Online (Sandbox Code Playgroud)
参考:http : //www.b-blog.info/en/changed-service-account-for-ms-sql-server-2012-and-the-following-issues.html
您还可以使用 Microsoft Kerberos Configuration Manager for SQL Server 自动检测和修复此类 SPN 问题: