数据库小技巧
解决18456错误方法:
1、以windows验证模式进入数据库管理器。
第二步:右击sa,选择属性:
在常规选项卡中,重新填写密码和确认密码(改成个好记的)。把强制实施密码策略去掉。
第三步:点击状态选项卡:勾选授予和启用。然后确定
第四步:右击实例名称(就是下图画红线的部分),选择属性。
第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式。
第六步:重启SQLSERVER服务(重要)。
参考资料:以下是微软官方的解释
因密码或用户名错误而使身份验证失败并导致连接尝试被拒时,类似下面的消息将返回到客户端:“用户 '<user_name>' 登录失败”。(Microsoft SQL Server,错误: 18456)”。
返回到客户端的其他信息有:
“用户 '<user_name>' 登录失败。(.Net SqlClient 数据访问接口)”
------------------------------
“服务器名称: <computer_name>”
“错误号: 18456”
“严重性: 14”
“状态: 1”
“行号: 65536”
也可能返回以下消息:
“消息 18456,级别 14,状态 1,服务器 <computer_name>,第 1 行”
“用户 '<user_name>' 登录失败。”
其他错误信息
为了增强安全性,返回到客户端的错误消息有意隐藏身份验证错误的本质。但是,在 SQL Server 错误日志中,对应的错误包含映射到身份验证失败条件的错误状态。将错误状态与以下列表进行比较以确定登录失败的原因。
状态 | 说明 |
---|---|
1 |
无法获得错误信息。此状态通常意味着您不拥有接收错误详细信息的权限。请联系 SQL Server 管理员以获得详细信息。 |
2 |
用户 ID 无效。 |
5 |
用户 ID 无效。 |
6 |
尝试同时使用 SQL Server 身份验证与 Windows 登录名。 |
7 |
登录已禁用,密码不正确。 |
8 |
密码不正确。 |
9 |
密码无效。 |
11 |
登录有效,但服务器访问失败。 |
12 |
登录是有效的登录,但服务器访问失败。 |
18 |
必须更改密码。 |
存在其他错误状态,并表示一个意外的内部处理错误。
示例
在此示例中,身份验证错误状态为 8。这指示密码不正确。
日期 | 来源 | 消息 |
---|---|---|
2007-12-05 20:12:56.34 |
登录 |
错误: 18456,严重性: 14,状态: 8。 |
2007-12-05 20:12:56.34 |
登录 |
用户 '<user_name>' 登录失败。[CLIENT: <IP 地址>] |
注意: |
---|
如果 SQL Server 使用 Windows 身份验证模式进行安装,并随后更改为 SQL Server 和 Windows 身份验证模式,则最初禁用 sa 登录名。这会导致状态 7 错误:“用户 'sa' 登录失败”。要启用 sa 登录名,请参阅如何更改服务器身份验证模式。
|
用户操作
如果您尝试使用 SQL Server 身份验证进行连接,请验证是否将 SQL Server 配置为使用混合身份验证模式。
如果尝试使用 SQL Server 身份验证进行连接,请验证 SQL Server 登录名是否存在以及拼写是否正确。
如果尝试使用 Windows 身份验证进行连接,请验证您是否正确地登录到相应的域。
如果错误指示状态 1,请与 SQL Server 管理员联系。