打开SSMS(我的版本是2008 R2),第一个对话框允许你选择要连接的服务器。
我在列表中至少有六个服务器,包括一个本地服务器,名字类似于MYPC/SQLSERVEREXPRESS
昨晚Windows更新后重启了我的机器,现在我的SSMS服务器列表不见了。我只能选择(local)
或(浏览更多)
我的先前保存的服务器及其登录信息去哪了?
打开SSMS(我的版本是2008 R2),第一个对话框允许你选择要连接的服务器。
我在列表中至少有六个服务器,包括一个本地服务器,名字类似于MYPC/SQLSERVEREXPRESS
昨晚Windows更新后重启了我的机器,现在我的SSMS服务器列表不见了。我只能选择(local)
或(浏览更多)
我的先前保存的服务器及其登录信息去哪了?
存储这些文件的文件路径为c:\%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin,适用于2008版本。
我猜测该文件仍然存在,但可能被您的某个更新覆盖了,您可以检查一下它的最后修改时间。
如果再次出现此类情况,建议您使用注册服务器并导出文件以节省时间。
据我所知,您想从那个文件中检索您的凭据。
如果您仍然拥有sqlstudio.bin文件并且可以在其中看到“密码”条目,则有一种方法可以恢复您的密码。
首先,让我们了解一些理论:当SSMS保存连接对象时,它使用某种加密方法对密码进行加密,该方法绑定到您的Windows登录。如果您尝试将sqlstudio.bin复制到其他计算机/用户配置文件中,则无法解密密码。因此,重要的是您在生成sqlstudio.bin时使用相同的Windows帐户执行所有操作。我无法告诉您是否可以直接操作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现在将显示您的连接在首选连接中,您将能够连接到数据库。(见第二张图片)