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

SQL Server 2019 Always On AG数据库引擎服务账户锁定问题求助

问题描述

环境:带文件共享见证(FSW)的双节点SQL Server 2019 Always On AG集群,两节点使用同一DBEngine服务账户,此前运行正常。
故障现象:

  • 重启被动节点DBEngine服务后,节点无法与主节点同步,副本状态显示断开
  • 主节点SQL日志出现大量登录失败记录,DBEngine服务账户被锁定;解锁后很快再次锁定
    已尝试操作:
  • 创建新服务账户,启动两节点后,启动节点2时账户锁定;解锁后停节点2,重启节点1正常,启动节点2服务后账户再次锁定
  • 重建两节点镜像端点并重新赋予DBEngine服务账户连接权限,无效
  • 重启两台服务器,无效
  • 移除节点2副本,删除节点2上所有数据库及镜像端点,重启节点2服务后,两节点用同一账户运行正常;但通过向导重新添加节点2为副本,完成备份还原后,最后一步连接时账户再次锁定
可能根源

这种反复锁定服务账户的情况,核心是无效凭据持续尝试或权限配置冲突,常见场景:

  1. 镜像端点权限存在残留错误(比如旧服务账户SID仍被引用、新账户权限未正确覆盖)
  2. WSFC(Windows Server故障转移集群)中存在残留的旧凭据或错误身份验证配置
  3. 被动节点未清理干净AG相关系统对象,重新添加时触发错误身份验证请求
  4. 服务账户在AD中的属性异常(比如登录时间/工作站限制、重复SID)
分步排查与解决

1. 彻底清理节点2的AG残留对象

在节点2上执行:

  • 确认已从AG移除节点2,且所有AG数据库已删除
  • 删除镜像端点:
    DROP ENDPOINT [MirroringEndpoint]
    
  • 删除DBEngine服务账户对应的SQL登录名(若存在):
    DROP LOGIN [DOMAIN\ServiceAccount]
    
  • 重启节点2的DBEngine服务,确认账户正常运行且未锁定

2. 检查WSFC集群凭据配置

  • 打开故障转移集群管理器,导航到集群→角色→对应AG角色→资源
  • 检查AG资源的属性→凭据,确认使用当前DBEngine服务账户且凭据正确
  • 清理集群节点服务和应用程序中残留的旧AG相关资源/凭据

3. 重新配置镜像端点并验证权限

在主节点和节点2分别执行:

创建镜像端点

CREATE ENDPOINT [MirroringEndpoint]
    STATE=STARTED
    AS TCP (LISTENER_PORT=5022, LISTENER_IP=ALL)
    FOR DATA_MIRRORING (ROLE=ALL, AUTHENTICATION=WINDOWS NEGOTIATE, ENCRYPTION=REQUIRED ALGORITHM AES)

赋予服务账户端点连接权限

GRANT CONNECT ON ENDPOINT::[MirroringEndpoint] TO [DOMAIN\ServiceAccount]

验证权限是否生效:

SELECT * FROM sys.server_permissions WHERE class_desc='ENDPOINT'

4. 验证AD中服务账户属性

  • 打开AD用户和计算机,检查服务账户属性:
    • 取消登录时间限制和登录到特定工作站的配置
    • 确保账户设置为账户从不过期、用户不能更改密码
    • 通过whoami /user在节点查看SID,确认AD中无重复SID

5. 手动用T-SQL重新添加节点2到AG

避免向导自动配置错误,执行以下步骤:

  1. 在主节点备份AG数据库的完整备份和日志备份,复制到节点2并以NORECOVERY模式还原
  2. 在主节点执行:
    ALTER AVAILABILITY GROUP [AGName] ADD REPLICA ON N'Node2' WITH (
        ENDPOINT_URL = N'TCP://Node2.Domain.com:5022',
        AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
        FAILOVER_MODE = AUTOMATIC,
        SEEDING_MODE = MANUAL
    )
    
  3. 在节点2执行:
    ALTER AVAILABILITY GROUP [AGName] JOIN
    ALTER AVAILABILITY GROUP [AGName] GRANT CREATE ANY DATABASE
    
  4. 检查AG副本状态,确认同步正常且服务账户未锁定

内容的提问来源于stack exchange,提问作者d_g_tal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:25:39