登录到Microsoft SQL Server错误:18456

346

在尝试连接SQL Server时,我遇到了以下错误。

Microsoft SQL Server 错误: 18456

有人能告诉我这个错误代码的含义吗?


8
初步搜索似乎表明该错误代码是登录失败,并且通常会附带更详细的信息。 - David
2
而更详细的信息应该在SQL Server错误日志中。这个数字本身故意不告诉你太多,这样黑客就不能利用它来找出他们的尝试出错的地方。 - Tony Hopkinson
在此处找到有用的信息:https://sqlblog.org/2011/01/14/troubleshooting-error-18456 - sairfan
1
我刚刚需要以管理员身份运行。 - Jacksonkr
只需检查此解决方案: https://stackoverflow.com/questions/41386538/microsoft-sql-server-error-18456# - Akash Singh Sengar
25个回答

0

SQL Server 连接故障排除

如果您无法使用 SQL 身份验证连接,并且已尝试其他解决方案。

您可以尝试以下操作:

检查连接性

  • 禁用防火墙。
  • 在 1434 上运行 PortQry 并检查答案。

检查状态

  • 尝试使用 SSMS 或 sqlcmd 进行连接并检查消息。
  • 状态 1 很少有记录,但它的意思只是您没有权利知道真正的状态。
  • 查看 SQL Server 目录中的日志文件以了解状态。

状态 5

什么?我的登录不存在吗?就在那里,我可以在 SSMS 中看到它。怎么会这样?

最有可能的解释往往是正确的。

登录状态

  • 销毁、重新创建并启用它。
  • 重置密码。

或者...

"您没有看对地方"或者"您看到的不是您想象的那样".

本地数据库和SQLEXPRESS冲突

如果您使用Windows身份验证连接SSMS,并且您的实例名为SQLEXPRESS,则您可能正在查看LocalDb而不是正确的服务器。因此,您刚刚在LocalDb上创建了您的登录。

当您通过SSMS使用SQL Server身份验证进行连接时,它将尝试连接到SQLEXPRESS真实服务器,而您所钟爱的登录尚不存在。

附加说明:请检查连接参数选项卡,以确保您没有忘记一些奇怪的连接字符串。


0

对我来说,另一个可行的解决方案是:

serever->security->logins->new logins->General->创建您的用户名作为登录名,单击SQL Server身份验证添加密码。

取消选中密码验证的三个复选框。这将起作用。

记得将服务器属性从服务器身份验证更改为SQL Server和Windows身份验证模式


0

0

当我恢复我的电脑时,这种情况发生了

启用Windows和SQL身份验证 重新启动您的电脑

在我的情况下,在VS Code中仍然出现错误,因为我忘记安装pyodbc :D


0

在 Linux 中可以针对 MSSQL 执行以下操作:

更改 sa 账户密码

sudo /opt/mssql/bin/mssql-conf setup

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接