我已使用域策略禁用 MS SQL 服务器上的 NTLM 身份验证以仅使用 Kerberos。
“网络安全:限制 NTLM:传入 NTLM 流量”设置为“拒绝所有帐户”
“网络安全:限制 NTLM:到远程服务器的传出 NTLM 流量”设置为“全部拒绝”`
并得到一个不起作用的可用性组,日志中有一个错误:
数据库镜像登录尝试失败,错误为:“连接握手失败。OS 调用失败:(80090302) 0x80090302(不支持所请求的功能)。状态 66。”
域控制器 - Windows Server 2019。SQL Server 2022 CU14。SQL Server 操作系统 - Windows Server 2019。
SPN 设置正确,但它现在仍在工作。尝试重新启动,但没有帮助。并检查 SPN 设置。但它仍然不起作用。
如何关闭 NTLM 身份验证并强制仅使用 Kerberos?
主节点和辅助节点是否在同一个 Windows 域名下?如果看到与 SPN 注册相关的错误,是否可以在上次启动时检查警报日志?注册 SPN 时,必须使用托管可用性副本的服务器实例的服务帐户。为了使 SPN 在所有副本上工作,必须对托管可用性组的 WSFC 群集中的所有实例使用相同的服务帐户。
我找到了问题所在。当然,我有服务器 FQND 和端口 1433 的 SPN。但节点上的端点在端口 5022 上运行,而我没有它们的 SPN。我这样做后,可用性组立即正常工作。
所以,我的问题解决了。