You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过Windows域认证连接Pacemaker虚拟IP至SQL Server集群求配置方案

Windows域用户认证连接Pacemaker虚拟IP的SQL Server集群配置建议

1. 配置并验证SQL Server服务的SPN

域认证依赖Kerberos,SPN是Kerberos认证的核心要素,虚拟IP必须对应正确的SPN:

  • 使用域管理员账号在域控制器上执行以下命令,检查SQL Server服务账号已注册的SPN:
    setspn -L <SQL_Service_Domain_Account>
    
    确认输出中包含MSSQLSvc/<Virtual_IP>:1433(1433为默认端口,自定义端口需替换),以及虚拟IP对应DNS主机名的SPN:MSSQLSvc/<Virtual_Hostname>:1433
  • 若缺少对应SPN,执行以下命令添加:
    setspn -A MSSQLSvc/<Virtual_IP>:1433 <SQL_Service_Domain_Account>
    setspn -A MSSQLSvc/<Virtual_Hostname>:1433 <SQL_Service_Domain_Account>
    
    注意:SQL Server服务必须运行在域账号下,本地系统账号无法注册跨节点的SPN。

2. 确认Pacemaker虚拟IP资源配置

  • 检查虚拟IP资源的状态与配置,确保IP能正常漂移且绑定正确:
    pcs resource show <Virtual_IP_Resource_Name>
    
  • 确保虚拟IP在DNS服务器上存在对应的A记录,且反向PTR记录配置正确——Kerberos认证依赖双向DNS解析。

3. 配置SQL Server的域用户权限

  • 在SQL Server主节点上,确保目标域用户(或所属域组)拥有CONNECT SQL权限,且已映射到目标数据库的用户账号。
  • 排查是否存在针对虚拟IP的登录限制,比如SQL Server的登录审核规则、防火墙策略,确保域用户的连接请求能通过虚拟IP到达集群节点。

4. 验证客户端Kerberos票据获取

  • 在运行SSMS的Windows客户端上,先清除现有Kerberos票据:
    klist purge
    
  • 尝试用域用户连接虚拟IP的SQL Server,再执行klist命令,检查是否生成了MSSQLSvc/<Virtual_IP>:1433的Kerberos票据。若未生成,检查客户端DNS设置是否能正确解析虚拟IP,以及Kerberos KDC(域控制器)的可达性。

5. 分析SQL Server错误日志

  • 查看SQL Server的错误日志,定位登录失败的具体原因(如SPN缺失、权限不足、Kerberos认证失败等),根据日志信息针对性调整配置。

内容的提问来源于stack exchange,提问作者นภวิชญ์ เลิศเจริญพงศา

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:07:53