当我尝试连接Windows身份验证或SQL Server身份验证时,我从SQL Server Management Studio收到错误18456,如下图所示。
我想在此链接中实现解决方案:Login to Microsoft SQL Server Error: 18456但我无法启动引擎。另外,我不知道我的SQL Server身份验证密码。
我该怎么办?
答案 0 :(得分:3)
我经常在SQL Server 2012及更高版本(通常使用新安装)中看到此问题,原因是SQL Server 2012及更高版本不会自动为窗口管理员提供SQL Server中的管理员权限。
这将使您根本无法访问SQL Server,在这种情况下,我使用以下方法:
运行SQL Server配置管理器。
SQL Server配置管理器的位置:
SQL Server 2016 C:\Windows\SysWOW64\SQLServerManager13.msc SQL Server 2014 C:\Windows\SysWOW64\SQLServerManager12.msc SQL Server 2012 C:\Windows\SysWOW64\SQLServerManager11.msc SQL Server 2008 C:\Windows\SysWOW64\SQLServerManager10.msc
Right-Click
SQL Server服务并转到Properties
。Startup Parameters
标签,然后在其中添加-m
参数。这将导致SQL-Server以单用户模式运行。 Restart
SQL Server服务,确保SQL Server代理无法启动,如果它启动它可能会获得与SQL Server的单个可用连接。 Run as Administrator
。 SysAdmin
角色。 -m
。重新启动SQL Server服务和tadaaa。 也不要在其他人使用的服务器上执行此操作。
答案 1 :(得分:0)
一种选择是安装新的SQL Server实例并将任何数据库附加到新实例,但由于各种原因这可能很棘手,尤其是如果您没有master
的最新备份数据库中。
因此,我建议遵循Microsoft here提供的建议,并以单用户模式启动实例,然后允许安装实例的计算机上的任何本地管理员获取访问权限并更正身份验证问题(重置密码等)。
当然,这假设您可以访问计算机上的管理员帐户,希望您这样做。
答案 2 :(得分:0)
我遇到了类似的问题,这篇文章中提到的解决方案为我工作: https://stackoverflow.com/a/23395581/4409488
它的基本含义是,您必须将默认登录模式更改为 Windows身份验证,而将其更改为 SQL Server和Windows身份验证模式。
右键单击服务器=> SelectProperties =>安全页=>服务器身份验证=> 选择 SQL Server和Windows身份验证模式单选按钮
从服务重新启动 SQL服务器。而且你应该很好走。
答案 3 :(得分:0)
关于
的具体情况Login failed for user 'sa'. Reason: Password did not match that for the login provided. [CLIENT: ##.##.##.##]
及其伴随消息
Error: 18456, Severity: 14, State: 8.
关于SQL Server 2014,Windows Server 2019和SOLIDWORKS专业文档管理。
摘要
测试一个不同且不太复杂的密码。
详细信息
我的第一个成功运行的凭证包含14个字符:大写和小写字母,数字和该集合中的符号“ $!%^(){} []; :: <>?”。这使SOLIDWORKS专业文档管理客户端堆栈可以通过SA数据库帐户与远程SQL Server Express 2014堆栈进行通信,而不会出现上述错误。
通过搜索“ SQL Server 2014密码限制”,可以找到此有用的帖子 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/52eda46d-5814-45a0-b676-4676f0853474/invalid-password-symbols-for-sql-server-2014-login?forum=sqlsecurity
这些被接受的答案中的链接-虽然对于SQL Server 2014或Windows Server 2019凭据不是权威性的-却使我不满意我的具体经历:
降低复杂性:尝试使用14个字符而不是48个字符的密码;应用更受约束的符号集
http://technet.microsoft.com/en-us/library/cc786468%28v=ws.10%29.aspx http://technet.microsoft.com/en-us/library/cc756109(v=ws.10).aspx http://msdn.microsoft.com/en-us/library/ms722458(v=vs.85).aspx
TBD-将上述链接替换为
的确定链接服务器端和客户端授权栈可能不遵循相同的规范和限制。可能需要先获得这两者的详细知识,才能首先实现功能,然后再达到一定的安全级别。
愿您的开悟比我的更快,瘀伤更少。
答案 4 :(得分:0)
答案 5 :(得分:0)
先查看sql server日志文件,知道状态号。然后,根据该州编号查找。对我来说,知道州号后查找会更快。我开始了这个有用的链接 https://sqlblog.org/2020/07/28/troubleshooting-error-18456