跳到主要内容
常见问题 SQL Server混合认证sa 登录

Windows 认证能登、SQL 登录失败怎么办?

能用 Windows 账户连上、SQL 账户(sa 等)登录却失败的定位路径:确认认证模式为混合、解锁启用 SQL 登录、核对 sa 映射。

发布于 2026/11/11 所属频道 SQL Server

简短答案

Windows 认证能登说明网络与引擎都正常,问题出在 SQL 认证这条链路:要么实例当前是纯 Windows 认证模式(SQL 登录根本不开),要么该 SQL 账户被禁用/锁定/过期。先确认认证模式是「混合」,再查账户状态。

现象对照

现象 原因 处理
Windows 能登,sa 登报 18456 认证模式是纯 Windows 切混合模式
混合模式下 sa 仍失败 sa 被禁用/锁定 启用/解锁 sa
切了混合模式不生效 服务没重启 重启 SQL Server 服务

处理步骤

  1. 用 Windows 认证连上 SSMS,查当前模式:
SELECT name FROM sys.server_principals WHERE name = 'sa';
  1. 切混合模式:SSMS 里右键实例 → 属性 → 安全性 → 选「SQL Server 和 Windows 身份验证模式」→ 应用后重启 SQL Server 服务(认证模式必须重启才生效)。
  2. 启用/解锁 sa:
ALTER LOGIN sa ENABLE;
-- 密码忘了/被锁就顺手重置
ALTER LOGIN sa WITH PASSWORD = '新密码需符合复杂度要求';
  1. 验证:断开重连,用 sa 登录;各版本的认证模式位置一致,见 SQL Server 2022 Developer、SQL Server 2025 Developer 条目页。

生产环境启用 SQL 认证时,sa 密码务必设强密码并考虑改用最小权限应用账户而非 sa,这是后续「最小权限账户」话题的前置动作。

操作小结

  1. 先确认模式:纯 Windows 模式 → SQL 登录必失败。
  2. 切混合模式后必须重启服务。
  3. 账户被禁/锁,用 Windows 认证登进去解锁改密。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配