连接 SQL Server 报 18456 登录失败有哪些原因?
18456 类登录失败错误的高频原因清单:认证模式、账户状态、大小写、映射缺失、远程限制,以及逐项核对的排查路径。
简短答案
18456 类错误只说明「登录没通过」,原因有一串高频嫌疑:认证模式不对、账户被锁/过期、登录名大小写写错、登录没映射到目标库、实例只允许本机。排查顺序固定:先确认认证模式,再核对账户状态,最后看映射与网络限制。
高频原因对照
| 原因 | 特征 | 处理 |
|---|---|---|
| 实例是 Windows 认证模式,却用 SQL 登录 | 只有 Windows 账户能登 | 切混合模式认证 |
| 账户被锁定/密码过期 | 18456 提示登录失败(锁定/过期) | 解锁/改密 |
| sa 密码装完从没改过/被遗忘 | 谁都登不上 | 用 Windows 账户进,重置 sa 密码 |
| 登录名大小写写错 | 引擎大小写敏感 | 核对服务器排序规则 |
| 登录没有对应数据库用户 | 能连上却进不了库 | 补建数据库用户映射 |
| 命名实例远程连 | 需要 Browser 或固定端口 | 启动 SQL Browser 或固定端口 |
排查步骤
- 确认实例认证模式:SSMS 里用 Windows 认证连上,在 服务器属性 → 安全性 页查看当前是 Windows 认证还是混合认证;引擎版本可查
SELECT @@VERSION;。切混合模式后需重启 SQL Server 服务才生效。 - 查账户状态:
SELECT name, is_disabled, is_locked, password_last_updated
FROM sys.server_principals;
锁定/禁用就解锁,ALTER LOGIN sa ENABLE;。
3. 大小写敏感问题:服务器排序规则带 BIN(二进制)或显式大小写敏感时,登录名必须一字不差。
4. 能连上实例却报库不存在/权限不足:给登录建数据库用户映射。
5. 各版本行为一致,可对照 SQL Server 2022 Developer、SQL Server 2025 Developer、SQL Server 2019 Developer 条目页。
18456 的具体后缀(如 18456 State 5 / State 1)提示不同子因,以错误原文为准;拿不准就按上表从认证模式开始逐项过。
操作小结
- 排查固定顺序:认证模式 → 账户状态 → 大小写 → 映射 → 网络限制。
- 应急入口:Windows 认证登进去再处理 SQL 登录问题。
- 修完在 SSMS 里用目标账户实连验证。