无法使用 SQL 身份验证连接到 SQL 服务器。但可以使用 Windows 身份验证

无法使用 SQL 身份验证连接到 SQL 服务器。但可以使用 Windows 身份验证

服务器身份验证设置为:

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

看看是否有帮助。

相关内容