我正在尝试使用以下命令登录到 SQL Server 2005 Express 实例:
osql -S .\INSTANCE -U sa -P password
我收到错误:用户“sa”登录失败。
我可以使用 -E 开关很好地连接。我必须补充一点,它已经工作了几个月。我认为有人改变了一些东西,但我无法弄清楚它是什么。
这是我尝试过的:
使用 Windows 身份验证登录并更改 sa 密码:
sp_password NULL,新密码,'sa'
启用“sa”登录:
ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = 'newpassword' ; 去
检查 Windows 注册表以确保启用混合身份验证。值正确:LoginMode=2
我还应该检查什么?提前致谢。
附加信息:
这是一个 Windows 2003 服务器。他们启用了一些密码策略,我记得我需要更改我的应用程序在将 SQL Server 安装到另一个更复杂的服务器时使用的默认“sa”密码。
我正在使用 VNC 连接,所以我不能真正使用 SSMS
我的应用程序可以使用另一个 SQL Server 登录名进行连接,但没有“sa”
最后,如果我们找不到解决方案,我将删除此实例并重新安装它,但我真的很想找出问题所在。以防万一它再次发生,只是出于好奇。
就像@SpaceManSpiff 所说,不要忘记检查是否启用了混合模式。有人为我更改了该设置,我遇到了同样的问题。以下是解决方法:
来源: http ://forums.eukhost.com/f15/login-failed-user-sa-microsoft-sql-server-error-18456-a-12544/
好的,我已经能够弄清楚发生了什么(有点)并找到了解决方法。
似乎一周前他们在玩Windows 安全策略。他们正在添加/删除权限,但他们不能准确地告诉我他们做了什么,因为他们真的不知道(哎哟!)。
无论如何,我使用 Windows 身份验证(-E 开关)连接并运行以下查询:
这里的关键是CHECK_POLICY=OFF。这就成功了。我希望这将使“sa”不受其域设置的未来变化的影响。
感谢您的所有建议。
检查事项
SA 帐户的密码
启用混合模式
SA 帐户是否已禁用?
创建另一个 SQL 帐户并尝试它(因为您可以使用 -E 进入,所以您应该能够做到这一点)
使用 ODBC 连接进行测试,您可以创建此连接以查看 SA 是否有效
哦,总是在 Windows 中捕获所有内容,重新启动(说真的,这有助于我在完成操作后测试 SQL 服务器)
几年前我在安装 Windows ServicePack(没有 SQLServer 更新,但是 Windows)后遇到了这个问题,SQLServer 拒绝连接,直到也安装了 SQLServer ServicePack!几个小时后,我在事件日志中发现了一条消息。
我认为他们这样做了,因为他们知道存在很大的安全漏洞,并希望强制所有管理员安装该包。但是,由于是前一段时间,我不知道确切的版本等等。我建议您仔细检查事件日志并安装所有/最新的服务包。
如果您正在安装 SQL Express 2014,如果您尝试使用 [sa] 帐户登录,则必须执行一些操作来解决此错误。
“sa”帐户将被禁用。因此,您需要在帐户的状态部分将帐户从禁用切换为启用。
服务器必须启用 windows 和 sql server 身份验证。默认情况下,仅启用 Windows 身份验证。
重置密码。(参见下面的代码;ServerFault 有一个错误,即截至 2016 年 6 月 8 日,使用有序列表时代码显示不同)
重新启动 SQL Server 的 Windows 服务
=========
假设您安装了 Management Studio 或 Management Studio Express,您可以使用 sa 将 Management Studio 连接到实例吗?
JR
您是否确保在更改注册表后重新启动了 SQL Server 服务?
有人删除了“sa”的默认数据库吗?
如果这是问题,请尝试
有时,由于许多不正确的密码或任何违反政策的行为,登录被禁用。所以我们可以做的就是用window认证登录,修改密码,重新启用登录。
使用 Windows 身份验证登录数据库
运行查询:
需要使用 CHECK_POLICY,因为它指定运行 SQL Server 的计算机的 Windows 密码策略应在此登录时强制执行。当我们关闭时,默认为开启,它会毫无困难地更改密码。稍后您可以开启
注意:我观察到,当 CHECK_POLICY 在 GUI SSME 上时,用于更改密码的解决方案并非每次都有效。我不知道背后的原因,但我观察到了。
我解决了它如下登录您的Windows身份验证转到服务器的属性>>安全并更改服务器身份验证