参考资料:以下是微软官方的解释

因密码或用户名错误而使身份验证失败并导致连接尝试被拒时,类似下面的消息将返回到客户端:“用户 '<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 错误日志中,对应的错误包含映射到身份验证失败条件的错误状态。将错误状态与以下列表进行比较以确定登录失败的原因。

无法获得错误信息。此状态通常意味着您不拥有接收错误详细信息的权限。请联系 SQL Server 管理员以获得详细信息。

用户 ID 无效。

用户 ID 无效。

尝试同时使用 SQL Server 身份验证与 Windows 登录名。

登录已禁用,密码不正确。

密码不正确。

密码无效。

登录有效,但服务器访问失败。

登录是有效的登录,但服务器访问失败。

必须更改密码。

存在其他错误状态,并表示一个意外的内部处理错误。

在此示例中,身份验证错误状态为 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 管理员联系。

原文地址: http://blog.csdn.net/qishuangquan/article/details/6024767