我刚刚构建了 2 个新的 Win/SQL 2022 服务器。一切顺利,我可以连接 SSMS。
然后我将两个 SQL 引擎服务更改为使用域帐户(我的标准做法),我可以在本地连接,但无法再通过 SSMS 远程连接并出现以下错误。
The target principal name is incorrect. Cannot generate SSPI context. (Microsoft SQL Server, Error: 0)
当 SQL 作为本地服务运行时,它可以注册一个 SPN。但是当它作为域帐户运行时它不能。(我已经在两台服务器上重复了几次)。我还尝试使用域管理员帐户运行该服务。
我已经按照自动和手动设置 SPN的MS 说明进行操作。而且都没有解决问题。
还有其他人遇到过这个吗?任何意见或建议将不胜感激。
编辑:我已经尝试过 Kerberos Config Mgr 工具,但它无法远程或本地连接,它返回错误:
10/01/2023 11:36:10 am Error: Connect to SQLWMI failed \root\Microsoft\SqlServer\ComputerManagement System.Management.ManagementException: Invalid namespace
我也试过运行 SQL 修复。
启动后SQL日志显示如下警告:
SQL Server is attempting to register a Service Principal Name (SPN) for the SQL Server service. Kerberos authentication will not be possible until a SPN is registered for the SQL Server service. This is an informational message. No user action is required.
The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/server.domain ] for the SQL Server service. Windows return code: 0xffffffff, state: 53. Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually registered.
感谢您提供这些详细信息,@Sir Swears-a-lot。看起来 SPN 有问题。我们可能需要为每个 SQL Server 服务帐户提供 4 个 SPN,以适应不同的 Windows 身份验证方案。
以防上述命令抛出“重复的 SPN”错误。我们可以使用下面的命令。