Microsoft SQL Server错误18470与18456同时出现的解决求助
解决Windows和SQL Server身份验证同时失败的问题
看起来你遇到的核心问题是你的Microsoft账户在SQL Server中被禁用了,这直接导致Windows身份验证失败,而SQL Server身份验证大概率是因为之前的配置问题(比如sa账户禁用或者验证模式未开启)刚好凑到了一起。下面是一套完整的解决步骤,覆盖两种验证方式的修复:
第一步:用单用户模式获取SQL Server管理员权限
因为你的日常Windows账户已经被禁用,没法正常登录,所以需要先以单用户模式启动SQL Server,用本地管理员账户进去操作:
- 打开SQL Server配置管理器,找到你的目标SQL Server实例(比如
MSSQLSERVER) - 右键实例选择「属性」,切换到「启动参数」选项卡
- 在「指定启动参数」输入框里添加
-m(注意参数前面不要有多余空格),点击「添加」后确定 - 右键实例选择「重启」,等待服务重启完成(单用户模式下同一时间只能有一个连接)
- 打开SQL Server Management Studio(SSMS),选择「Windows身份验证」,用你的电脑本地管理员账户登录(不是那个Microsoft账户),这时候应该能成功进入
第二步:启用被禁用的Microsoft Windows账户
登录后先解决Windows身份验证的问题:
- 在SSMS左侧展开「安全性」→「登录名」,找到
MicrosoftAccount\harshitsaini15@gmail.com这个账户 - 右键选择「属性」,在「常规」选项卡中,取消勾选「登录已禁用」
- 切换到「服务器角色」选项卡,根据你的需求赋予合适的权限(比如勾选
sysadmin获得管理员权限),点击「确定」保存
第三步:修复SQL Server身份验证
接下来处理SQL Server身份验证的问题:
- 同样在「登录名」里找到
sa账户,右键选择「属性」 - 在「常规」选项卡中,取消勾选「登录已禁用」,设置一个符合要求的强密码(如果之前没设置的话)
- 切换到「状态」选项卡,确保「登录」选项设置为「启用」
- 最后检查身份验证模式:右键你的SQL Server实例→「属性」→「安全性」,选择「SQL Server和Windows身份验证模式」,点击「确定」后重启SQL Server服务
第四步:恢复正常启动模式
完成所有配置后,退出单用户模式:
- 回到SQL Server配置管理器,找到你的实例→「属性」→「启动参数」,删除刚才添加的
-m参数 - 重启SQL Server服务,现在就可以用你的Microsoft账户(Windows身份验证)或者sa账户(SQL Server身份验证)正常登录了
注意事项
- 单用户模式下,确保没有其他应用或SSMS连接占用唯一的连接位,否则会登录失败
- 如果你的电脑没有本地管理员账户,需要先通过Windows设置创建一个,再进行上述操作
- 操作过程中如果遇到服务启动失败,可以查看SQL Server日志(路径一般是
C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Log)排查问题
内容的提问来源于stack exchange,提问作者Harshit Saini
相关产品推荐
相关产品推荐

