打开 SSMS(我的是 2008 R2)时出现的第一个对话框允许您选择要连接的服务器。
我在该列表中至少有六台服务器,包括一个名为的本地服务器MYPC/SQLSERVEREXPRESS
Windows 更新昨晚运行并重新启动了我的机器,现在我的 SSMS 服务器列表不见了。我可以选择(local)
或(browse for more)
我之前保存的服务器及其保存的登录信息发生了什么变化?
打开 SSMS(我的是 2008 R2)时出现的第一个对话框允许您选择要连接的服务器。
我在该列表中至少有六台服务器,包括一个名为的本地服务器MYPC/SQLSERVEREXPRESS
Windows 更新昨晚运行并重新启动了我的机器,现在我的 SSMS 服务器列表不见了。我可以选择(local)
或(browse for more)
我之前保存的服务器及其保存的登录信息发生了什么变化?
存储这些 2008 的文件位于 c:\%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
我的猜测是它仍然存在,但已被您的一个更新覆盖,您可以检查它以查看上次修改的时间。
如果再次发生这种情况,您应该使用已注册的服务器并导出文件以节省时间。
据我了解,您想从该文件中检索您的凭据。
如果您仍然有 sqlstudio.bin 文件并且您可以在那里看到“密码”条目,那么有一种方法可以恢复您的密码。
首先,一些理论:当 SSMS 保存连接对象时,它使用某种加密方法加密密码,即绑定到您的 Windows 登录。如果您尝试将 sqlstudio.bin 复制到其他机器/用户配置文件,密码将不会被解密。因此,重要的是您在同一个 Windows 帐户下执行所有操作,然后生成 sqlstudio.bin。我不能告诉你,如果你可以直接操作 sqlstudio.bin - 我想那里有一些校验和会禁止直接操作,但还有另一种方法。
我知道我上面写的信息,因为我自己开发了一个 SSMS - SSMSBoost的插件。我已经在那里实现了管理首选连接的逻辑(这样你实际上就不再需要标准对话了)。我使用完全相同的 SSMS 对象来存储连接并序列化为 XML,因此更易于操作。下图显示了相同连接的 sqlstudio.bin 和 SSMSBoostSettings.xml 的内容。您可以识别,用户名和密码二进制数据是相同的。因此,要恢复您的密码,您必须:
安装 ssmsboost
使用 sql server 安全性添加到任何数据库的首选连接
打开 SSMSBoostSettings.xml(保存设置后,您将在设置对话框中看到该文件的路径。只需保存,关闭并重新打开它。路径显示在底部)
关闭 SSMS,在编辑器中打开 sqlstudio.bin 和 ssmsboostsettings.xml
修改 ssmsboostsettings.xml 中的条目 - 从 sqlstudio.bin 输入服务器的数据 - 地址、数据库名称、用户名。仔细复制密码数据。
保存 xml 并打开 SSMS - SSMSBoost 现在将在首选连接中显示您的连接,您将能够连接到数据库。(见第二张图)