在尝试连接SQL Server时,我遇到了以下错误。
Microsoft SQL Server 错误: 18456
有人能告诉我这个错误代码的含义吗?
在尝试连接SQL Server时,我遇到了以下错误。
Microsoft SQL Server 错误: 18456
有人能告诉我这个错误代码的含义吗?
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
在打开之前,请右键单击并选择“以管理员身份运行”。这对我解决了问题。
State: 1
。 - GraehamF首先查看错误的详细信息, 如果“state”为“1”, 请确保在SQL Server / 属性/ 安全性下,数据库设置为使用SQL和Windows身份验证。
对于其他状态,请参考上面的答案....
更新一下,如果其他人的登录设置已经正确配置,但仍遇到此错误,则可以使用以下解决方案:
如果您正在尝试使用“SQL Server身份验证”连接,则可能需要修改服务器身份验证方式:
在Microsoft SQL Server Management Studio的对象资源管理器中:
右键单击服务器并单击“属性”
转到“安全性”页面
在服务器身份验证下选择“SQL Server和Windows身份验证模式”单选按钮
单击“确定”
重新启动SQL Services
我刚遇到了这个问题,结果和所有其他列出的情况都不一样。
我恰好有两个虚拟服务器托管在同一个集群中,每个服务器都有自己的IP地址。主机将其中一个服务器配置为SQL Server,另一个服务器配置为Web服务器。然而,SQL Server已经安装并在两台服务器上运行。主机忘记说明哪个服务器是SQL,哪个是Web,所以我假设第一个是Web,第二个是SQL。
当我连接到(我认为是)SQL Server并尝试通过SSMS连接,选择Windows身份验证时,我得到了这个问题中提到的错误。在抓狂了很长时间后,我检查了所有设置,包括SQL Server网络配置、MSSQLSERVER协议:
双击TCP/IP后,我得到了这个:
IP地址是另一个虚拟服务器的!这最终让我意识到我只是混淆了服务器,所有的工作都在第二个服务器上正常运行。
您也可以使用Windows身份验证直接登录,并运行以下查询以启用它:
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
在 SQL Server 中,服务器身份验证模式决定谁可以登录到 SQL Server。Windows 身份验证模式和 SQL Server 身份验证模式是可供选择的身份验证模式。
默认情况下,SQL Server 安装为仅允许 Windows 身份验证模式。要启用 SQL Server 身份验证模式,请使用以下过程:
重要提示:更改服务器身份验证模式可能会影响现有应用程序。请确保在更改之前已经测试了应用程序。