sql server 用户'sa'登录失败(错误18456)

说实话,我曾经多次遇到过这个SQL Server用户无法登录的问题。
好吧,我们先来说说解决这个问题的步骤。
首先,您需要以管理员身份打开 SQL Server,然后选择以 Windows 身份登录。
具体操作如下:打开“安全”选项,在“登录名”中找到用户“sa”,然后进入其属性面板。

接下来您将转到 sql server 属性页面。
操作如下:选择服务器,然后右键单击,选择“属性”。
在此页面中,找到服务器身份验证模式,并将其从默认的 SQL Server 身份验证模式更改为 SQL Server 和 Windows 身份验证模式。
不要忘记保存您的设置。

此后您需要重新启动服务器。
您右键单击服务器并选择重新启动。
如果这一步仍然不起作用,那么我们将不得不采取进一步的措施。

您打开“开始”菜单,在搜索栏中输入“MicrosoftSQLServer2 008 ”,找到并单击它。
然后在打开的窗口中选择“SQLserver网络配置”。
在此配置中,将“NamedPipes Status”和“TCP/IP Status”更改为“Enabled”。
通过这样做,问题通常会得到解决。
当时我不明白为什么有时必须更改此配置,但现在我使用它没有问题。

SQL Server2005登录时提示错误18456如何解决

说实话,在处理SQL Server 2 005 中的错误1 8 4 5 6 时,我遇到的陷阱比返回的数据库表还多。
例如,去年我帮助客户解决这个问题时,仅仅因为密码政策就纠结了两天。
那家伙在屏幕上输入了8 00遍密码,但系统仍然说输入错误。
后来发现管理员强行规定了每周更换密码的奇怪规定。

让我印象特别深刻的是修改sa账户的步骤。
我记得在“常规”选项卡中更改密码后,我跑到“状态”选项卡,发现当我选中“强制密码策略”框时,鼠标闪烁了一会,然后消失了。
当时我以为我的鼠标坏了,但我重新启动SSMS,发现它还是一样。
后来查了MSDN,发现这是2 005 版本的一个bug,整个SSMS必须以管理员权限运行才能生效。

关于更改身份验证模式,这里有一个小问题:如果更改“服务器属性”中的“SQL Server 和 Windows 身份验证模式”,则必须重新启动两次:第一次 SSMS 进程必须重新加载配置,第二次服务器实例本身应用新设置。
有朋友刚重启SSMS,问我为什么只能用他的登录。

让我们回想一下重新启动服务的问题,特别是配置管理器。
我见过很多新手在“服务”中右键重启,结果都是“找不到服务”。
后来发现他们甚至混淆了“SQL Server代理”和“SQL Server(实例名)”。
说实话,2 005 年的界面设计在这方面确实有点反人性,把“SQL Server(MSSQLSERVER)”隐藏得最深。

对于防火墙,我建议使用SQL Server的动态端口功能来绕过它。
在“网络配置”中,将TCP/IP协议更改为“命名管道”,然后注释掉TCP/IP下的1 4 3 3 端口。
重启服务后,会自动在动态端口中查找可用端口。
上次帮人解决问题的时候,发现日志上明明写着“密码错误”,但实际上sa账户已经被锁了八次了——这取决于“错误日志”->“历史记录”选项卡中的事件ID2 4 2 当时客户就纳闷了:“我根本就没有登录过八次?后来我检查了审计日志,发现是一个脚本错误,使用了sa作为变量八次......你觉得这很有趣吗?
我没有亲自在Linux环境下运行过1 8 4 5 6 ,但我记得数据在X左右,但我建议你检查一下,不要只关注密码。
这是一个服务健康问题,有时......您甚至没有适当的管理权限。