我正在尝试使用以下命令登录到 SQL Server 2005 Express 实例:
osql -S .\INSTANCE -U sa -P password
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:用户“sa”登录失败。
我可以使用 -E 开关正常连接。我必须补充一点,它已经工作了几个月。我认为有人改变了一些东西,但我无法弄清楚它是什么。
这是我尝试过的:
使用 Windows 身份验证登录并更改 sa 密码:
sp_password NULL,新密码,'sa'
启用“sa”登录:
更改登录 sa 启用;GO ALTER LOGIN sa WITH PASSWORD = 'newpassword' ; 走
检查 Windows 注册表以确保启用混合身份验证。值正确:LoginMode=2
我还应该检查什么?提前致谢。
附加信息:
这是一个 Windows 2003 服务器。他们启用了一些密码策略,我记得我需要将我的应用程序在安装 SQL Server 时使用的默认“sa”密码更改为另一个更复杂的密码。
我使用 VNC 连接,所以我不能真正使用 SSMS
我的应用程序可以使用另一个 SQL Server 登录名进行连接,但没有“sa”
最后,如果我们找不到解决方案,我将删除此实例并重新安装,但我真的很想找出问题所在。以防万一它再次发生,只是为了纯粹的好奇。
小智 31
就像@SpaceManSpiff 所说的,不要忘记检查是否启用了混合模式。有人为我更改了该设置,我遇到了同样的问题。以下是解决方法:
来源:http : //forums.eukhost.com/f15/login-failed-user-sa-microsoft-sql-server-error-18456-a-12544/
JAG*_*JAG 14
好的,我已经能够弄清楚发生了什么(某种)并找到了解决方法。
一周前,他们似乎在玩Windows 安全策略。他们正在添加/删除权限,但他们无法确切地告诉我他们做了什么,因为他们真的不知道(哎哟!)。
无论如何,我使用 Windows 身份验证(-E 开关)进行连接并运行以下查询:
ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO
Run Code Online (Sandbox Code Playgroud)
这里的关键是CHECK_POLICY=OFF。这就是诀窍。我希望这将使 'sa' 不受其域设置未来变化的影响。
感谢您的所有建议。
检查事项
SA 帐户的密码
启用混合模式
SA 帐户是否已禁用?
创建另一个 SQL 帐户并尝试它(因为您可以使用 -E 进入,您应该能够做到这一点)
使用 ODBC 连接进行测试,您可以创建此连接以查看 SA 是否有效
哦,总是在 Windows 中捕获所有内容,重新启动(说真的,这有助于我在完成工作后测试 SQL 服务器)
归档时间: |
|
查看次数: |
148629 次 |
最近记录: |