![SQL Server“无法生成 SSPI 上下文”的可能根本原因在于域帐户/权限?](https://linux22.com/image/789572/SQL%20Server%E2%80%9C%E6%97%A0%E6%B3%95%E7%94%9F%E6%88%90%20SSPI%20%E4%B8%8A%E4%B8%8B%E6%96%87%E2%80%9D%E7%9A%84%E5%8F%AF%E8%83%BD%E6%A0%B9%E6%9C%AC%E5%8E%9F%E5%9B%A0%E5%9C%A8%E4%BA%8E%E5%9F%9F%E5%B8%90%E6%88%B7%2F%E6%9D%83%E9%99%90%EF%BC%9F.png)
看到官方关于排查windows SQL登录问题的文档,如下图这里。
我正在管理 Windows Server 2019 + SQL Server 2019 的环境,所有主机都在 Windows AD 域内进行集中管理。
特定域用户帐户已分组到“域管理员”组中,该帐户专门用于 SQL 数据库。
请注意,域组策略设置:windows configuration\windows settings\security settings\local policies\User Rights Assignments\Log on as a service
已配置"<mydomain>\Domain Admins","LOCAL SERVICE" ,"NETWORK SERVICE" ,"NT SERVICE\ALL SERVICES" ,"NTLM Authentication" and "SYSTEM"
问题如下:
使用该特定域用户帐户登录任何 SQL 主机并通过 SSMS + Windows 身份验证连接到本地 SQL 都没有问题。
但是,当尝试将 SQL 始终切换到另一个数据库时,故障转移向导在连接到辅助 SQL(位于辅助主机上)时显示错误,即“无法生成 SSPI 上下文”。此外,使用 SSMS 从一个 SQL 主机连接到另一个 SQL 主机也会出现同样的问题。
请注意,奇怪的是:如果我使用“SQL 服务器身份验证”登录 SSMS,数据库可以毫无问题地故障转移到另一个 SQL 主机。并且通过 SSMS 在 SQL 主机之间不存在任何连接问题。
我在 SQL 主机之间进行了基本的 ping,当然,主机名解析在双方都是正确的。将进行进一步的 SQL 跟踪和检查。我想首先排除域用户帐户相关权限和设置的故障,但不确定我遗漏了哪一部分。
有人可以给我一些提示吗?