SqlServer故障排除:用户 'x' 登录失败 ERROR:18456

故障排除:用户 ‘x’ 登录失败

因密码或用户名错误而使身份验证失败并导致连接尝试被拒时,类似下面的消息将返回到客户端:“用户 '<user_name>' 登录失败”。(Microsoft SQL Server,错误: 18456)”。

错误信息

返回到客户端的其他信息有:

1
2
3
4
5
6
7
8
9
10
“用户 '<user_name>' 登录失败。(.Net SqlClient 数据访问接口)”
------------------------------
“服务器名称: <computer_name>”
“错误号: 18456”
“严重性: 14”
“状态: 1”
“行号: 65536”
也可能返回以下消息:
“消息 18456,级别 14,状态 1,服务器 <computer_name>,第 1 行”
“用户 '<user_name>' 登录失败。”

在 SQL Server 错误日志中,对应的错误包含映射到身份验证失败条件的错误状态。将错误状态与以下列表进行比较以确定登录失败的原因。

状态 说明
1 一个意外的内部处理错误。
2 用户 ID 无效。
5 用户 ID 无效。
6 尝试同时使用 SQL Server 身份验证与 Windows 登录名。
7 登录已禁用,密码不正确。
8 密码不正确。
9 密码无效。
11 登录有效,但服务器访问失败。
12 登录是有效的登录,但服务器访问失败。
18 必须更改密码。

解决办法

  1. 打开数据库 — 用 Windows 身份登陆数据库
  2. 然后打开“安全性”–“登录名”中找到用户 “x” 打开其属性面板
  3. 选择“常规”界面,去掉勾选强制实施密码策略,点击 “确定” 保存
  4. 重启 SqlServer