SQL 错误代码 18456
详细信息
Attribute | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 18456 |
事件源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | LOGON_FAILED |
消息正文 | 用户 '%.*ls'.%.*ls 登录失败 |
说明
(Microsoft SQL Server,错误:18456)”。
返回到客户端的其他信息有:
(.Net SqlClient 数据访问接口)”
------------------------------
“服务器名称:<computer_name>”
“错误编号:18456”
“严重级别:14”
“状态:1”
“行号:65536”
也可能返回以下消息:
“消息 18456、级别 14、状态 1、服务器 <computer_name>、行 1”
“用户‘<user_name>’登录失败。”
其他错误信息
将错误状态与以下列表进行比较以确定登录失败的原因。
状态 | 说明 |
---|---|
1 | SQL Server 管理员以获得详细信息。 |
2 | 用户 ID 无效。 |
5 | 用户 ID 无效。 |
6 | 尝试同时使用 SQL Server 身份验证与 Windows 登录名。 |
7 | 登录已禁用,密码不正确。 |
8 | 密码不正确。 |
9 | 密码无效。 |
11 | SQL Server。 |
12 | 登录是有效的登录,但服务器访问失败。 |
18 | 必须更改密码。 |
38、46 | 找不到用户请求的数据库。 |
58 | 另一个原因是 SID 不匹配。 |
102 - 111 | AAD 失败。 |
122 - 124 | 由于用户名或密码为空导致的失败。 |
126 | 用户请求的数据库不存在。 |
132 - 133 | AAD 失败。 |
存在其他错误状态,并表示一个意外的内部处理错误。
其他不常见的可能原因
可能会在下列情况下返回。
-
当服务器配置为混合模式身份验证并且某个 ODBC 连接使用 TCP 协议,且该连接未显式指定该连接应使用某一可信连接时。
-
当服务器配置为混合模式身份验证并且某个 ODBC 连接使用命名管道,且客户端用来打开命名管道的凭据用于自动模拟该用户并且该连接未显式指定该连接应使用某一可信连接时。
若要解决此问题,应在连接字符串中包含 TRUSTED_CONNECTION = TRUE。
示例
这表示密码不正确。
Date | 源 | 消息 |
---|---|---|
2007-12-05 20:12:56.34 | 登录 | 错误:18456,严重级别:14,状态:8. |
2007-12-05 20:12:56.34 | 登录 | [客户端: ] |
备注
这将导致状态 7 错误:“用户‘sa’登录失败。”若要启用 sa 登录名,请参阅更改服务器身份验证模式。
用户操作
SQL Server 配置为使用混合身份验证模式。
SQL Server 登录名是否存在以及拼写是否正确。
如果尝试使用 Windows 身份验证进行连接,请验证您是否正确地登录到相应的域。
SQL Server 管理员联系。
在连接后,将您的 Windows 用户作为单独的登录名添加。
数据库引擎支持包含的数据库,请确认在迁移到包含的数据库用户后未删除登录名。
有关详细信息,请参阅本主题中的如何在 ASP.NET 中使用网络服务帐户来访问资源