服务器身份验证设置为:
SQL Server and Windows Authentication mode
我可以使用 Windows 身份验证进行连接,但不能使用 SQL 身份验证进行连接。
用户“sa”登录失败。(Microsoft SQL Server,错误:18456)
Error Number: 18456
Severity: 14
State: 1
我已经重置了 sa 密码并启动和停止了服务器,但无济于事。
我还创建了一个新的登录名。没用。
更新:
另一台计算机上有一个进程陷入了循环。我终止该进程后,就可以登录了。我不知道为什么或如何。但这是我所知道的唯一一件发生变化的事情。
答案1
IIRC您需要启用该帐户并设置密码:
ALTER LOGIN sa ENABLE;
(可能也有等效的 GUI)
答案2
这是对悬赏的回答,而不是原始问题的回答。我认为这是两个不同的问题。
NitroxDM 遇到错误编号:18456,严重性:14,状态:1。
现在,当登录被禁用时,就会出现状态 1 - 但实际上,日志中的错误是 18470,而不是 18456 - 因为登录被禁用,所以它不会走到那一步。参见状态 7。
我认为另一台机器上的进程密码不正确并且正在禁用该帐户。
Steinin 遇到错误 18456。严重性:14 状态 8。密码与提供的登录名不匹配。
可能最简单的情况是:密码不正确(cASe sEnsiTiVitY 在这里引起了很多人的注意)。请注意,即使您尝试以包含数据库用户身份连接但忘记指定数据库、指定了错误的数据库或输入了错误的密码,它也会显示“提供的登录名” - 除非找到匹配项,否则 SQL Server 不会知道您正在尝试使用包含数据库用户。
这两种描述都来自这里。
我知道您说您能够通过 osql 使用这些凭据进行连接。要么存在区分大小写的问题,要么 SSMS 缓存了错误的凭据。尝试删除或重命名
%AppData%\Microsoft\Microsoft SQL Server\[versionnumber]\Tools\Shell\SqlStudio.bin
看看是否有帮助。