登录Microsoft SQL Server错误:18456

mer*_*zuu 283 sql-server connection error-code

我在尝试连接到SQL Server时收到此错误.

Microsoft SQL Server错误:18456

任何人都能告诉我错误代码的含义吗?

Ali*_*chi 675

如果您尝试使用"SQL Server身份验证"进行连接,则可能需要修改服务器身份验证:

在对象资源管理器中的Microsoft SQL Server Management Studio中:

  1. 右键单击服务器并单击 Properties

  2. 转到该Security页面

  3. Server authentication选择SQL Server and Windows Authentication mode单选按钮下

  4. 点击 OK

  5. 重新启动SQL服务

  • 谢谢.很遗憾,当您尝试添加用户时,没有警告消息. (27认同)
  • 这是人们遇到的一个非常普遍的问题.事实上,您可以创建SQL Server登录到您的内容,而不会意识到这个简单的设置被关闭是相当混乱的IMO.我建议这是正确的答案. (18认同)
  • 究竟是什么意思"右键单击服务器并单击属性"这是什么? (12认同)
  • 他表示对象资源管理器中的顶级节点 - 带有播放按钮的黄色圆柱体 (9认同)
  • @JGilmartin,当你有错误18456这意味着你*无法连接时,你究竟能够在对象资源管理器中连接到服务器吗? (6认同)

CRA*_*DBA 68

查看数据平台团队的这篇博客文章.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

您真的需要查看错误消息的状态部分以找到问题的根本原因.

2, 5 = Invalid userid
6 = Attempt to use a Windows login name with SQL Authentication
7 = Login disabled and password mismatch
8 = Password mismatch
9 = Invalid password
11, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required
Run Code Online (Sandbox Code Playgroud)

之后,谷歌如何解决这个问题.

  • 不要嘟嘟我自己的号角,但我在这里编译了*很多*更多信息:http://sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/sql-server-v-next-denali-additional - 各国换错误18456.aspx (42认同)
  • 这里99%的问题都可能由谷歌回答,但一个简单的简单问题和答案可以节省大量的搜索时间,并且经常会多余的文章/博客,以及我的一个投票! (13认同)
  • 我在这里找到了答案,当我使用谷歌时(google搜索SO比搜索SO更好......) (12认同)
  • 感谢@AaronBertrand 提供的信息。该页面已移动:https://sqlblog.org/2020/07/28/troubleshooting-error-18456 (2认同)

小智 25

在打开之前,右键单击并选择"以管理员身份运行".这解决了我的问题.

  • 打开之前要做什么?? (5认同)
  • 这是我的解决办法。我在错误消息中有 `State: 1`。 (2认同)

小智 11

如果"state"为"1",请首先查看错误的详细信息确保在SQL Server/Properties/Security下为SQL和Windows身份验证设置了数据库.

对于其他州看到上述答案....


小智 10

只是一个更新,如果其他人在正确配置登录时出现错误,这里是解决方案:

如果您尝试使用“SQL Server 身份验证”进行连接,那么您可能需要修改服务器身份验证:

在 Microsoft SQL Server Management Studio 的对象资源管理器中:

右键单击服务器并单击属性

进入安全页面

在服务器身份验证下,选择 SQL Server 和 Windows 身份验证模式单选按钮

单击“确定”

重新启动 SQL 服务


Nag*_*ran 9

  1. 检查是否在server-> properties中启用了混合模式身份验证
  2. 然后在server-> security中创建一个登录名
  3. 在数据库中为该登录创建用户
  4. 然后通过右键单击实例重新启动服务器并选择重新启动


Neo*_*jay 8

我遇到过这个问题.

请看附图,

请将您的sql身份验证更改为SQL Server和WindowsAuthenication模式,

并重新启动您的Sql服务器.

在此输入图像描述


dus*_*88c 5

如果您更改登录用户凭据或添加新的登录用户,那么在您需要登录后,您将必须重新启动 SQL Server 服务。为了那个原因

转到--> 服务 灰色行

然后转到SQL Server(MSSQLSERVER)并停止并重新启动

现在尝试登录,我希望你可以。

谢谢


Jos*_*ega 5

您也可以使用 Windows 身份验证登录并运行以下查询来启用它:

ALTER LOGIN sa ENABLE ;  
GO  
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;  
GO
Run Code Online (Sandbox Code Playgroud)

来源:https ://learn.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode


Sha*_*ard 5

只是发生在我身上,结果与这里列出的所有其他情况都不一样。

我碰巧在同一群集中托管了两个虚拟服务器,每个虚拟服务器都有自己的IP地址。主机将其中一台服务器配置为SQL Server,将另一台服务器配置为Web服务器。但是,SQL Server已安装并在两者上运行。主机忘记提到哪个服务器是SQL,哪个服务器是Web,所以我只是假定第一个是Web,第二个是SQL。

当我连接到SQL Server(我以为是)并尝试通过SSMS连接时,选择Windows身份验证,我收到了此问题中提到的错误。经过多番努力,我遍历了所有设置,包括SQL Server网络配置,MSSQLSERVER的协议:

TCP / IP配置的屏幕截图

双击TCP / IP给我这个:

TCP / IP属性,显示错误的IP地址

该IP地址是另一台虚拟服务器的!最终,这使我意识到我只是在服务器之间感到困惑,并且在第二台服务器上都运行良好。