跳到主要内容
常见问题 SQL Server大小写敏感登录失败

登录名大小写敏感导致登录失败?

SQL Server 实例对登录名大小写敏感(排序规则带二进制/显式敏感标记)时,大小写写错就登录失败的判断与处理路径。

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

简短答案

多数实例对登录名大小写不敏感,但服务器排序规则带 BIN(二进制)或显式大小写敏感标记时,登录名一字不差才算对——SA 与 sa 就是两个不同登录。判断依据是查服务器排序规则,处理就是按创建时的原始大小写写登录名。

现象对照

现象 判断 处理
换台机器/重装系统后老账户都登不上 新排序规则敏感 核对排序规则
一直能登,某次改大小写突然失败 排序规则本身就是敏感的 写回原始大小写
程序连接串里登录名写错大小写 客户端侧 改连接串

排查步骤

  1. 用 Windows 认证连上 SSMS,查排序规则:
SELECT SERVERPROPERTY('CollationName');

名称里含 BIN(如 SQL_Latin1_General_CP1_BIN)或明确大小写敏感标记的,登录就区分大小写。 2. 查账户真实名字:

SELECT name FROM sys.server_principals;

按列出的原始大小写写连接串。 3. 客户端程序侧核对连接串里的 User ID;改完在 SSMS 里用相同写法验证。 4. 各版本行为一致;安装时排序规则的选择见 SQL Server 2022 Developer、SQL Server 2019 Developer 条目页。

排序规则建实例时就定死了,不能事后改服务器级排序规则;只有敏感实例且想统一大小写时,才是重新建库迁移的场景,代价很高,先确认是否真有必要。

操作小结

  1. 查 CollationName 判断是否敏感。
  2. 敏感实例一律用账户原始大小写登录。
  3. 连接串里的登录名同步核对。

相关链接

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

相关推荐下载

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

配套 PE 工具

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

其他常见问题

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