DBAtlas · 数据库运维图谱

18456: Login failed for user(用户登录失败)

SQL Server

含义

登录尝试在认证阶段被拒绝。可能是用户名/密码错误、账户被禁用,或用户无权访问该数据库。

原因

密码错误、登录名不存在、账户被禁用/锁定、在仅启用 Windows 身份验证时使用 SQL 登录,或无权访问默认数据库。错误文本中的 State 代码指出真正原因(State 5:登录名不存在;State 7:登录名已禁用且密码也错误;State 8:密码错误(最常见);State 18:必须更改密码;State 38:无法打开指定的数据库;State 58:服务器处于仅 Windows 身份验证模式时尝试 SQL 登录)。

解决方法

根据 SQL Server 错误日志中的 State 值找出根本原因(出于安全原因,详细信息不会发送给客户端)。核实用户名/密码。检查服务器是否运行在 'SQL Server and Windows Authentication Mode'(混合模式);如果做了更改,需重启服务。核实该登录名在目标数据库中的用户映射和访问权限。

在 DBAtlas 中打开 →

同一数据库的其他条目