尝试连接SQL Server时出现此错误。
Microsoft SQL Server错误:18456
有人能告诉我错误代码的含义吗?
答案 0 :(得分:630)
如果您尝试使用“SQL Server身份验证”进行连接,则可能需要修改服务器身份验证:
在对象资源管理器中的Microsoft SQL Server Management Studio中:
右键单击服务器,然后单击Properties
转到Security
页面
在Server authentication
下选择SQL Server and Windows Authentication mode
单选按钮
点击OK
重新启动SQL服务
答案 1 :(得分:64)
查看数据平台团队的这篇博客文章。
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
之后,谷歌如何解决这个问题。
答案 2 :(得分:24)
在打开之前,右键单击并选择“以管理员身份运行”。这解决了我的问题。
答案 3 :(得分:10)
首先查看错误的详细信息 如果"州"是" 1" 确保在SQL Server / Properties / Security下为SQL和Windows身份验证设置了数据库。
对于其他州看到上述答案......
答案 4 :(得分:7)
答案 5 :(得分:6)
答案 6 :(得分:4)
刚好发生在我身上,结果与此处列出的所有其他情况不同。
我碰巧在同一个集群中托管了两个虚拟服务器,每个虚拟服务器都有自己的IP地址。主机将其中一个服务器配置为SQL Server,将另一个配置为Web服务器。但是,SQL Server已在两者上安装并运行。主人忘了提到哪些服务器是SQL,哪些是Web,所以我假设第一个是Web,第二个是SQL。
当我连接到(我想到的)SQL Server并尝试通过SSMS连接,选择Windows身份验证时,我收到了此问题中提到的错误。在拉了很多头发后,我仔细检查了所有设置,包括SQL Server网络配置,MSSQLSERVER协议:
双击TCP / IP给了我这个:
IP地址属于另一个虚拟服务器!这最终让我意识到我只是在服务器之间感到困惑,并且在第二台服务器上运行良好。
答案 7 :(得分:2)
右键单击“用户”,转到属性,将默认数据库更改为master 这是图像的屏幕打印,显示了如果您有错误19456需要检查的内容。有时它默认为用户没有权限的数据库
答案 8 :(得分:2)
18456错误状态列表
错误状态错误说明
潜在原因 以下是原因列表和一些简要说明:
未启用SQL身份验证:如果您第一次在SQL Server实例上使用SQL登录,则通常会出现错误18456,因为服务器可能在Windows身份验证模式下设置(仅限)。
如何修复?请检查此SQL Server and Windows Authentication Mode page.
无效的userID: SQL Server无法在您尝试获取的服务器上找到指定的UserID。最常见的原因是此userID尚未被授予服务器访问权限,但这也可能是一个简单的错误或您不小心尝试连接到不同的服务器(如果您使用多个服务器,则为典型)
密码无效:密码错误或只是拼写错误。请记住,此用户名可以在不同的服务器上使用不同的密码。
不太常见的错误:可能在服务器上禁用了userID。为SQL身份验证提供了Windows登录(更改为Windows身份验证。如果使用SSMS,则可能必须以不同的用户身份运行才能使用此选项)。密码可能已过期,可能还有其他几个原因....如果你知道其他任何一个让我知道。
18456状态1解释:通常Microsoft SQL Server会为您提供错误状态1,除了您有18456错误之外,实际上并不意味着什么。状态1用于隐藏实际状态以保护系统,这对我来说是有意义的。以下是包含所有不同状态的列表,有关检索准确状态的详细信息,请访问Understanding "login failed" (Error 18456) error messages in SQL Server 2005
希望有所帮助
答案 9 :(得分:2)
首先去开始吧然后搜索本地服务 然后点击“查看本地服务” 然后它将打开服务窗口然后转到SQL Server(MSSQLSERVER),右键单击它并单击停止然后再次右键单击它并单击开始。现在您可以登录并将您的用户名设置为“sa”,密码就是您赢得的密码。
答案 10 :(得分:1)
对我而言,错误登录和密码。
答案 11 :(得分:1)
此外,您只需使用Windows身份验证登录并运行以下查询即可启用它:
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
答案 12 :(得分:1)
如果这是域成员PC,请检查您是否已连接到网络。此外,请确保您不在双家用PC上,因为网络指标可能导致您的路由不正确。当我无法连接到SQL Windows身份验证切换到本地PC帐户但将其注册为SQL身份验证的域时,我遇到了此问题。一旦我禁用了无线适配器并重新启动,Windows集成就会切换回域帐户并进行身份验证。我已经设置了混合模式,因为之前的帖子不适用。
答案 13 :(得分:1)
如果您更改登录用户凭据或添加新登录用户,则需要登录后必须重新启动SQL Server服务。那个
然后转到SQL Server(MSSQLSERVER)并停止并重新启动
现在尝试登录,希望你能。
由于
答案 14 :(得分:0)
我相信如果您尝试使用Active Directory中定义的用户登录,但尝试使用&#34; SQL Server身份验证&#34;在登录屏幕中。我不知道如何使用NTLM / Windows身份验证指定其他用户:当我单击Windows身份验证下拉列表时,用户名和密码将被清空,我只能以自己身份登录。
答案 15 :(得分:0)
在我的情况下,多次错误的尝试锁定了帐户。为此,我尝试运行以下查询并且它有效: ALTER LOGIN WITH PASSWORD = UNLOCK 并确保设置选项&#34;强制密码安全&#34;通过右键单击Sql Server来取消选中特定用户的选项 - &gt;属性。
答案 16 :(得分:0)
如果您无法使用SQL身份验证进行连接,并且您已尝试过其他解决方案。
您可以尝试以下方法:
什么?我的登录不存在?它就在那里,我可以在SSMS中看到它。怎么会这样 ?
最可能的解释是最有可能是正确的解释。
或者...
“你不看正确的地方”或“你所看到的不是你的想法”。
如果您使用Windows身份验证连接SSMS,并且您的实例名为SQLEXPRESS,那么您可能正在查看 LocalDb 和而不是正确的服务器。所以你刚刚在LocalDb上创建了你的登录信息。
当您通过SQL Server身份验证与SSMS连接时,它将尝试连接到尚未存在您心爱登录的SQLEXPRESS真实服务器。
附加说明: 如果您没有忘记某些奇怪的连接字符串,请检查连接参数标签。
答案 17 :(得分:0)
我遇到了同样的问题。您需要先启用混合模式身份验证。 更多细节 How to enable Mixed Mode Authentication
答案 18 :(得分:0)
您可以在Linux中为mssql做 更改一个帐户的密码
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.
答案 19 :(得分:0)
这最近发生在我身上,是因为应用程序连接字符串中的数据库名称拼写错误。
答案 20 :(得分:0)
在我的SQL实例下创建一个新的sysadmin用户后,出现此错误。 我的管理员用户是在特定域下创建的 MyOrganization /用户管理员
在断开连接的环境中使用 useradmin 可以使您使用SQL Server身份验证来创建其他用户,但是一旦尝试登录就可以获取
Microsoft SQL Server错误:18456
要解决此问题,请尝试再次连接到组织网络并在连接时创建用户,然后断开连接即可使用。
答案 21 :(得分:0)
我遇到了同样的问题。如果您看到它,请运行此查询:
DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
然后显示 18456 错误代码。
重新连接 SQL 服务器后,再次执行相同的查询。它会正常工作。