当我试图连接到SQL Server时,我得到这个错误。
Microsoft SQL Server错误:18456
有人能告诉我错误码是什么意思吗?
当我试图连接到SQL Server时,我得到这个错误。
Microsoft SQL Server错误:18456
有人能告诉我错误码是什么意思吗?
查看这篇来自数据平台团队的MSDN博客文章。
您确实需要查看错误消息的状态部分,以找到问题的根本原因。
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
之后,谷歌如何解决这个问题。
如果您试图使用“SQL Server身份验证”连接,那么您可能需要修改您的服务器身份验证:
在Microsoft SQL Server Management Studio的对象资源管理器中:
右键单击服务器,然后单击Properties 进入安全页面 在服务器身份验证下,选择SQL Server和Windows身份验证模式单选按钮 单击OK 重新启动SQL服务
在打开之前,右键单击并选择“以管理员身份运行”。这为我解决了问题。
首先查看错误的详细信息 如果"state"为"1" 确保数据库在SQL server / Properties / Security下设置为SQL和Windows身份验证。
对于其他州,请参阅上述答案....
检查server->属性中是否启用了混合模式认证 然后在服务器->安全性中创建一个登录 在数据库中为该登录创建一个用户 然后通过右键单击实例并选择restart重新启动服务器
如果您更改了登录用户凭证或添加了新的登录用户,那么在您需要登录后,您将不得不重新启动SQL Server服务。为那
转到——>服务
然后进入“SQL Server(MSSQLSERVER)”,停止并重新启动
现在试着登录,我希望你能。
谢谢
右键单击用户,进入属性,将默认数据库更改为master 这是图像的屏幕打印,它显示了如果您有错误19456,您必须检查的内容。有时它默认使用用户没有权限的数据库
18456错误状态列表
错误状态错误描述
状态2和状态5无效的用户id 状态6尝试使用带有SQL身份验证的Windows登录名 状态7登录被禁用,密码不匹配 状态8密码不匹配 状态9密码无效 状态11、状态12登录有效,但无法访问服务器 状态13 SQL Server服务暂停 状态18提示修改密码
潜在原因 下面是一些原因和简单的解释:
未启用SQL身份验证:如果您第一次在SQL Server实例上使用SQL Login,通常会出现错误18456,因为服务器可能设置为Windows身份验证模式(仅)。
如何修复?检查“SQL Server和Windows身份验证模式”页面。
无效的用户id: SQL Server无法在您试图获取的服务器上找到指定的用户id。最常见的原因是这个用户id没有在服务器上被授予访问权限,但这也可能是一个简单的拼写错误,或者您无意中试图连接到不同的服务器(如果您使用多个服务器,则很常见)
无效的密码:错误的密码或只是一个打字错误。记住,这个用户名在不同的服务器上可以有不同的密码。
不太常见的错误:userID可能在服务器上被禁用。为SQL身份验证提供了Windows登录(更改为Windows身份验证。如果您使用SSMS,您可能必须以不同的用户运行以使用此选项)。密码可能已经过期,可能还有其他一些原因....如果你知道其他的,请告诉我。
18456状态1解释:通常Microsoft SQL Server会给你错误状态1,除了你有18456错误之外,它实际上并不意味着什么。状态1用于隐藏实际状态,以保护系统,这对我来说是有意义的。下面是所有不同状态的列表,有关检索准确状态的更多信息,请访问理解SQL Server 2005中的“登录失败”(错误18456)错误消息
希望这能有所帮助
我遇到过这个问题。
请看附件图片,
步骤1:转到服务器属性
第二步:进入安检
步骤3:更改服务器认证为SQL server和windowsauthentication模式
并重新启动Sql服务器。
Please check to see if you are connected to the network if this is a domain member PC. Also, make sure you are not on a dual home PC as your routes may be incorrect due to network metrics. I had this issue when I could not connect to the domain the SQL windows authentication switched to the local PC account but registered it as a SQL authentication. Once I disabled my wireless adapter and rebooted, the Windows integration switched back to the domain account and authenticated fine. I had already set up Mixed mode as you had already done as well so the previous posts do not apply.
我相信,如果您试图使用Active Directory中定义的用户登录,但尝试在登录屏幕中使用“SQL Server身份验证”,则会发生这种情况。我不知道如何使用NTLM/Windows身份验证指定不同的用户:当我单击Windows身份验证下拉菜单时,用户名和密码被忽略,我只能以自己的身份登录。
对我来说,这是错误的登录和密码。
首先去开始酒吧,然后搜索本地服务 然后点击“查看本地服务” 然后它将打开服务窗口,然后转到SQL Server(MSSQLSERVER),右键单击它,然后单击停止,然后再次右键单击它,单击启动。现在你可以登录,把你的用户名'sa'和密码是你的won密码。
你也可以用windows认证登录,然后运行下面的查询来启用它:
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
来源:https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode
在我的情况下,多次错误的尝试锁定了帐户。为了做到这一点,我试着运行下面的查询,它工作: 修改登录密码=解锁 并确保通过右键单击Sql Server ->属性将特定用户的“强制密码安全”选项设置为未选中。
SQL Server连接故障
如果您无法连接SQL身份验证,并且您已经尝试了其他解决方案。
你可以尝试以下方法:
检查连接
禁用防火墙。 在1434上运行PortQry并检查答案。
检查状态
尝试连接SSMS或sqlcmd并检查消息。 状态1很少被记录下来,但它只是意味着你没有权利知道真实的状态。 查看SQL server目录下的日志文件,了解当前的状态。
国家5
什么?我的登录不存在?就在那里,我可以在SSMS中看到它。怎么可能呢?
最有可能的解释就是最有可能是正确的解释。
登录的状态
摧毁它,重建它,激活它。 重置密码。
还是……
“你看错地方了”或“你看到的不是你想的”。
Local DB和SQLEXPRESS冲突
如果您使用Windows身份验证连接SSMS,并且实例名为SQLEXPRESS,那么您看到的可能是LocalDb,而不是正确的服务器。您刚刚在LocalDb上创建了登录名。
当您通过SSMS的SQL Server身份验证连接时,它将尝试连接到您心爱的登录还不存在的SQLEXPRESS实服务器。
附加提示:检查连接参数选项卡,如果你没有忘记一些奇怪的连接字符串。
另一个对我有效的解决方案。 server ->security->logins->new logins->General->创建您的用户名作为登录名,单击sql server authentication添加密码
取消选中密码验证三个复选框。 这是可行的。
请记住将服务器属性->Security从服务器身份验证更改为SQL server和Windows身份验证模式
就发生在我身上,而且和这里列出的其他病例都不一样。
我碰巧在同一个集群中托管了两个虚拟服务器,每个服务器都有自己的IP地址。主机将其中一台服务器配置为SQL Server,另一台配置为Web服务器。但是,SQL Server在两者上都安装和运行。主机忘记提到哪个服务器是SQL,哪个是Web,所以我假设第一个是Web,第二个是SQL。
当我连接到(我认为是)SQL Server并试图通过SSMS连接时,选择Windows身份验证,我得到了这个问题中提到的错误。在拉了很多头发之后,我浏览了所有的设置,包括SQL Server网络配置,MSSQLSERVER协议:
双击TCP/IP给我这个:
IP地址是另一个虚拟服务器!这最终使我意识到我只是混淆了服务器,在第二台服务器上一切都很好。
你可以在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.
我在SQL实例下创建了一个新的sysadmin用户后得到了这个错误。 我的管理用户是在特定的域下创建的 MyOrganization / useradmin
在断开连接的环境中使用useradmin允许您使用SQL Server身份验证创建其他用户,但一旦您尝试登录,您就会得到
Microsoft SQL Server错误:18456
要解决此问题,请尝试再次连接到组织网络,并在连接时创建用户,然后可以断开连接并正常工作。
我也遇到过同样的问题。如果你看到它,运行这个查询:
DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
然后它显示一个18456错误代码。
重新连接SQL server后再做一件事,运行相同的查询。它会工作得很好。
只是一个更新,如果其他人有正确配置的登录错误,这里是解决方案:
如果您试图使用“SQL Server身份验证”连接,那么您可能需要修改您的服务器身份验证:
在Microsoft SQL Server Management Studio的对象资源管理器中:
右键单击服务器,然后单击Properties
进入安全页面
在服务器身份验证下,选择SQL Server和Windows身份验证模式单选按钮
单击OK
重新启动SQL服务
点击“选项”,在“连接属性”下,在“连接到数据库:”旁边指定目录/数据库名称。我得到了错误,因为这被设置为<默认>,我需要指定dbname。
Microsoft SQL Server,错误:18456 我遇到了一个问题,因为我输入了错误的密码。 Microsoft SQL Server,错误码:18456 -密码错误。
参考:https://learn.microsoft.com/en - us/sql/relational databases/errors events/mssqlserver - 18456 -数据库引擎error?view=sql ver16——服务器
当我恢复我的电脑时,它发生在我身上
启用Windows和SQL身份验证 重启你的电脑
在vs code在我的情况下仍然错误,因为我忘记安装pyodbc:D