SQL Server Management Studio - 服务器名称消失

10

打开SSMS(我的版本是2008 R2),第一个对话框允许你选择要连接的服务器。

我在列表中至少有六个服务器,包括一个本地服务器,名字类似于MYPC/SQLSERVEREXPRESS

昨晚Windows更新后重启了我的机器,现在我的SSMS服务器列表不见了。我只能选择(local)(浏览更多)

我的先前保存的服务器及其登录信息去哪了?


SSMS经常会“忘记”我的数据库引擎连接信息(我的服务器列表),每个月左右都会发生。不得不一遍又一遍地重建这个列表,真是令人沮丧的浪费时间。 :( - PTansey
2个回答

1

存储这些文件的文件路径为c:\%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin,适用于2008版本。

我猜测该文件仍然存在,但可能被您的某个更新覆盖了,您可以检查一下它的最后修改时间。

如果再次出现此类情况,建议您使用注册服务器并导出文件以节省时间。


实际上,该文件最后更新时间是在凌晨3点,当最后一次更新运行时。我不认为有任何方法可以检索我的旧登录信息吗? - JMax2012
1
此位置不再被 SQL Server Mgmt Studio 使用。 - TylerH

1

据我所知,您想从那个文件中检索您的凭据。

如果您仍然拥有sqlstudio.bin文件并且可以在其中看到“密码”条目,则有一种方法可以恢复您的密码。

首先,让我们了解一些理论:当SSMS保存连接对象时,它使用某种加密方法对密码进行加密,该方法绑定到您的Windows登录。如果您尝试将sqlstudio.bin复制到其他计算机/用户配置文件中,则无法解密密码。因此,重要的是您在生成sqlstudio.bin时使用相同的Windows帐户执行所有操作。我无法告诉您是否可以直接操作sqlstudio.bin-我认为那里有一些校验和,这将禁止直接操作,但还有另一种方法。

我知道上面写的信息,因为我为SSMS开发了一个插件 - SSMSBoost。在那里,我实现了管理首选连接的逻辑(这样你就不需要使用标准对话框了)。我使用完全相同的SSMS对象来存储连接并将它们序列化为XML,所以更容易操作。下面的图片显示了sqlstudio.bin和SSMSBoostSettings.xml中相同连接的内容。您可以看到,用户名和密码二进制数据是相同的。因此,要恢复密码,您需要:
  1. 安装SSMSBoost

  2. 使用SQL Server安全性将首选连接添加到任何数据库

  3. 打开SSMSBoostSettings.xml(在保存设置后,您将在设置对话框中看到该文件的路径。只需保存、关闭并重新打开它。路径显示在底部)

  4. 关闭SSMS,打开编辑器中的sqlstudio.bin和ssmsboostsettings.xml

  5. 修改ssmsboostsettings.xml中的条目-输入来自sqlstudio.bin的服务器数据-地址、数据库名称、用户名。仔细复制密码数据。

  6. 保存xml并打开SSMS-SSMSBoost现在将显示您的连接在首选连接中,您将能够连接到数据库。(见第二张图片)

retrieve password ssms connection enter image description here


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