【问题标题】:SQL Server Management Studio - Server Names DisappearedSQL Server Management Studio - 服务器名称消失
【发布时间】:2012-10-15 17:07:37
【问题描述】:

打开 SSMS(我的是 2008 R2)时出现的第一个对话框允许您选择要连接的服务器。

我在该列表中至少有六台服务器,包括一个名为 MYPC/SQLSERVEREXPRESS 之类的本地服务器

Windows 更新昨晚运行并重新启动了我的机器,现在我的 SSMS 服务器列表不见了。我可以选择(local)(browse for more)

我之前保存的服务器及其保存的登录信息发生了什么变化?

【问题讨论】:

  • SSMS 每个月左右都会定期“忘记”我的数据库引擎连接信息(我的服务器列表)。不得不继续重建该列表是一种令人沮丧的浪费时间。 :(

标签: sql-server-2008-r2 ssms sql-server-2008


【解决方案1】:

存储这些 2008 的文件位于 c:\%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

我的猜测是它仍然存在,但已被您的一个更新覆盖,您可以检查它以查看上次修改的时间。

如果再次发生这种情况,您应该使用已注册的服务器并导出文件以节省时间。

【讨论】:

  • 确实,该文件最后一次更新是在凌晨 3:00,也就是最后一次更新运行的时间。我不认为有任何方法可以检索我的旧登录信息?
  • SQL Server Mgmt Studio 不再使用此位置。
【解决方案2】:

据我了解,您想从该文件中检索您的凭据。

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

首先,一些理论:当 SSMS 保存连接对象时,它使用某种加密方法加密密码,即绑定到您的 Windows 登录。如果您尝试将 sqlstudio.bin 复制到其他机器/用户配置文件,密码将不会被解密。因此,重要的是您在同一个 Windows 帐户下执行所有操作,然后生成 sqlstudio.bin。我不能告诉你,如果你可以直接操作 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 现在将在首选连接中显示您的连接,您将能够连接到数据库。 (见第二张图)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多