SQL Server 2008 SSMS无法记住密码

38

尽管勾选了“记住密码”复选框,但 SQL Server 2008 无法记住密码。

我曾怀疑重新启动会解决问题。但是问题仍然存在。

环境:Windows Vista Ultimate,SQL Server 2008

我一直不确定要发帖子,因为这个问题似乎太琐碎和奇怪了。

8个回答

66

在SSMS 2012中有一个解决方案可以帮助你解决这个问题。微软现在提供了一种机制,可以从已记住服务器列表中删除服务器,将有问题的服务器从列表中删除后,下次连接时就可以保存密码:

  1. 在“连接到数据库引擎”对话框中,展开服务器名称列表
  2. 使用箭头键选择无法记住密码的服务器
  3. 按键盘上的删除键。

https://web.archive.org/web/20160216044501/http://blogs.msdn.com/b/managingsql/archive/2011/07/13/deleting-old-server-names-from-quot-connect-to-server-quot-dialog-in-ssms.aspx


3
这对于 SQL Server Management Studio 18.6(仍然)有效。 - Bernd Wechner
1
如果我使用相同的主机名,这并没有起作用。相反,我用IP地址替换了主机名,然后它就完美地工作了。谢谢。 - Hanlet Escaño

24

如果您注册了服务器并以这种方式连接(只需快速双击),它的效果非常好!

  1. 在SSMS中,选择“视图|注册的服务器”
  2. 选择“数据库引擎”(默认应该已经选中)
  3. 右键单击“本地服务器组”,选择“新建服务器注册”(或者如果您愿意,可以先创建自己的组)
  4. 输入所有必需的详细信息:服务器地址、用户名、密码、勾选“记住密码”框、注册服务器名称
  5. 单击“确定” - 现在您可以始终从此“注册的服务器”工具窗口连接到此服务器 - 它不会再次要求输入密码。

我从serverfault.com上找到了这个方法,它非常好用!


11

这个错误报告是否与您看到的相符?

编辑(2015年1月10日):Ganesh在评论中指出,此链接现已失效。 这个十年历史的漏洞被关闭为“不修复”,但是它已被重新发布/重新打开这里。(我在这里放了一个缓存页面的截图这里,供有兴趣的人参考。)


@Steve:这个错误报告针对的是 SQL 2005 的问题。似乎并未提到 SQL 2008 是受影响的产品之一。 - pencilslate
1
@pencilslate:这个 bug 报告是在 2008 年出现之前提交的,但是评论及其日期表明它可能在 2008 年仍然存在问题。我知道这并不能帮助你解决问题,但如果你认为这是同一个问题,可以对其进行投票并添加验证到 bug 报告中。 - Steve Kass
请参考以下答案作为最佳解决方法:https://dev59.com/bXM_5IYBdhLWcg3wlEFH#12710579 - Rob
1
截至2021年5月21日,v18.9.1仍然存在问题。我尝试了几种修复方法,但似乎只能持续一天... 真是令人沮丧!?! - Kixoka
你可以为这个问题点赞:https://feedback.azure.com/forums/908035-sql-server/suggestions/41354875-ssms-18-6-remember-password-option-doesnt-work - Steve Kass

10

我相信我找到了解决这个问题的方法。

如果你的SQL Server似乎忘记了你的密码,请尝试以下方法:

  1. 在登录屏幕上,点击“登录选择框”的下箭头。

  2. 不要立即选择一个登录名。

  3. 等待几秒钟。

  4. 然后从列表中选择登录名。

你的密码将出现在密码框中。

为什么会出现这种奇怪的行为?我认为SQL Server可能需要轮询帐户,但当你立即点击登录名时,它没有足够的时间来执行此操作。


这在我的SSMS 2014中不起作用,但是下拉列表中只有一个登录名,因此它已经被选中了。 - user2444499

5
由于我使用的是2008 R2版本,因此SSMS 2012的解决方法对我无效。不过,我找到了一种“修复”它的方法。虽然这不是真正的解决方法,但如果您保留文件备份,当其中一个服务器丢失您的凭据时,您可以很容易地恢复它。
重要提示: 在尝试找出为什么/何时会丢失凭据时,我发现它似乎始终记住使用您的配置文件从未用于特定服务器的上次使用的用户名。例如,如果您从一个新配置文件开始,连接到名为MyServer的服务器,并首先使用sa作为用户名,无论您是否勾选“记住密码”,如果您成功使用sa登录,则SSMS似乎会将其存储在内存中。现在,如果您使用用户名Tester并成功登录,它将始终默认使用Tester作为用户。

现在是解决方法/解决方法:
首先,查看this article,但我建议您不要删除该文件,只需将其重命名为SqlStudio.bin.OLD或其他名称,以便您始终可以还原它以检查使用此方法重置的任何设置。

我的方法:
我首先像我推荐的那样重命名了我的bin文件。 然后,我打开SSMS并登录到我经常使用的每个服务器,使用我始终想要为这些服务器使用的凭据,并为每个服务器选择“记住密码”。 然后,我备份了bin文件,并将其存储在我的网络上的安全位置。 这样,如果我需要使用另一个用户名登录服务器进行测试或其他操作,我可以轻松地恢复我的原始bin文件。 或者,如果您愿意,在使用新用户名之前,您可以只重命名bin文件并以新用户身份执行工作。 完成后,只需删除新的bin文件并将原始文件重命名为.bin即可。

关键是获取您的bin文件的好版本并进行备份。如果您添加了新的服务器,可以使用与上述相同的方法登录,使用所需的凭据和记住密码,然后将bin文件复制到备份位置。希望这能帮助您!

0

您可以完全删除用户设置,这样SSMS就能记住新的登录信息。请注意,这样做会丢失所有保存的SSMS登录信息。

用户设置位置为

 %APPDATA%\Microsoft\SQL Server Management Studio\[you ssms version here]\UserSettings.xml

0
对我来说,我通过以管理员身份运行“SQL Server管理工作室”(SSMS)(右键单击,以管理员身份运行),勾选“记住密码”复选框,输入密码并连接来解决我的问题。
然后下一次我正常运行SSMS,嘭,不需要再输入密码了。
看起来SSMS在写入凭据方面存在问题,以管理员身份运行可以解决这个问题。

0
这对我有用: 我进入控制面板 ->凭据管理器,在“Windows凭据”类别中,然后“添加Windows凭据”,手动创建一个记录,包括: IP地址 用户名 密码

然后,SSMS开始记住密码。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接