尝试连接到SQL Server时出现此错误。
Microsoft SQL Server错误:18456
有人可以告诉我错误代码的含义吗?
run as administrator
尝试连接到SQL Server时出现此错误。
Microsoft SQL Server错误:18456
有人可以告诉我错误代码的含义吗?
run as administrator
Answers:
如果尝试使用“ SQL Server身份验证”进行连接,则可能需要修改服务器身份验证:
在对象资源管理器中的Microsoft SQL Server Management Studio中:
右键单击服务器,然后单击 Properties
转到Security
页面
在Server authentication
选择SQL Server and Windows Authentication mode
单选按钮下
请点击 OK
重新启动SQL服务
查看数据平台团队的这篇博客文章。
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
之后,Google如何解决此问题。
打开之前,右键单击并选择“以管理员身份运行”。这为我解决了问题。
State: 1
在错误消息中。
只是发生在我身上,结果与这里列出的所有其他情况都不一样。
我碰巧在同一群集中托管了两个虚拟服务器,每个虚拟服务器都有自己的IP地址。主机将其中一台服务器配置为SQL Server,将另一台服务器配置为Web服务器。但是,SQL Server已安装并在两者上运行。主机忘记提到哪个服务器是SQL,哪个服务器是Web,所以我只是假设第一个是Web,第二个是SQL。
当我连接到SQL Server(我以为是)并尝试通过SSMS连接时,选择Windows身份验证,我收到了此问题中提到的错误。经过多番努力,我遍历了所有设置,包括SQL Server网络配置,MSSQLSERVER协议:
双击TCP / IP给我:
该IP地址是另一台虚拟服务器的!最终,这使我意识到我只是在服务器之间感到困惑,并且在第二台服务器上都运行良好。
18456错误状态列表
错误状态错误描述
潜在原因以下是原因列表和一些简要说明,该怎么办:
未启用SQL身份验证:如果您是第一次在SQL Server实例上使用SQL登录,则经常会发生错误18456,因为服务器可能设置为Windows身份验证模式(仅)。
如何解决?检查此SQL Server和Windows身份验证模式页。
无效的用户ID: SQL Server在试图获取的服务器上找不到指定的用户ID。最常见的原因是该用户标识尚未在服务器上被授予访问权限,但这也可能是一个简单的错字,或者您无意中尝试连接到另一台服务器(如果使用多个服务器则为典型值)
密码无效:密码错误或输入错误。请记住,该用户名在不同的服务器上可以具有不同的密码。
不太常见的错误:可能在服务器上禁用了userID。Windows登录已提供用于SQL身份验证(更改为Windows身份验证。如果使用SSMS,则可能必须以其他用户身份运行才能使用此选项)。密码可能已过期,可能还有其他一些原因……。如果您知道其他任何事情,请告诉我。
18456状态1解释:通常,Microsoft SQL Server将为您提供错误状态1,这实际上并不意味着您有18456错误。状态1用于隐藏实际状态以保护系统,这对我来说很有意义。下面是具有所有不同状态的列表,有关获取准确状态的更多信息,请访问了解SQL Server 2005中的“登录失败”(错误18456)错误消息
希望能有所帮助
右键单击“用户”,转到“属性”,将默认数据库更改为“ master”。这是图像的屏幕打印,它显示了如果有错误19456时必须检查的内容。有时它默认为用户没有的数据库允许
您也可以使用Windows身份验证登录并运行以下查询以启用它:
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
来源:https : //docs.microsoft.com/zh-cn/sql/database-engine/configure-windows/change-server-authentication-mode
在我的情况下,多次错误尝试锁定了该帐户。为此,我尝试运行以下查询并成功了:ALTER LOGIN WITH PASSWORD = UNLOCK并确保为特定用户设置了“ Enforce Password Security”选项,以免被选中右键单击Sql Server->属性。
如果您无法使用SQL身份验证进行连接,请尝试其他解决方案。
您可以尝试以下方法:
什么 ?我的登录名不存在?就在那,我可以在SSMS中看到它。怎么会这样 ?
最可能的解释是最正确的解释。
要么...
“您没有看正确的地方”或“您所看到的不是您的想法”。
如果您通过Windows身份验证与SSMS连接,并且您的实例名为SQLEXPRESS,则可能是在查看LocalDb而不是正确的服务器。因此,您刚刚在LocalDb上创建了登录名。
当您通过带有SSMS的SQL Server身份验证进行连接时,它将尝试连接到尚不存在您所喜爱的登录名的SQLEXPRESS真实服务器。
附加说明:如果没有忘记一些奇怪的连接字符串,请检查“连接参数”选项卡。
对我来说,另一个可行的解决方案。
serever->security->logins->new logins->General->
创建您的用户名作为登录名,单击sql server身份验证添加密码
取消选中密码验证三个复选框。这将起作用。
记住更改服务器属性->“安全性从” Server authentication
到SQL Server and Windows Authentication mode
您可以在Linux中为mssql更改sa帐户的密码
sudo / opt / mssql / bin / mssql-conf设置
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.
我尝试过此解决方案,并为我工作1-从SQL Server属性启用SQL和Windows混合身份验证模式。2-从SQL Server配置管理器重新启动服务器*确保您的密码正确。
https://www.liquidweb.com/kb/troubleshooting-microsoft-sql-server-error-18456-login-failed-user/