ChatGPT解决这个技术问题 Extra ChatGPT

如何从 SQL Server Management Studio 的历史记录中删除“服务器名称”项

当尝试连接到 Management Studio(特别是 2008)中的服务器时,您可以在一个字段中输入服务器名称。该字段还有一个下拉列表,其中显示了您尝试连接的服务器的历史记录。

如何从该历史记录中删除单个项目?如何从每个服务器名称的登录字段历史记录中删除一个项目?

请参阅我为执行此操作而编写的小 UI 的答案,我参加聚会有点晚了,所以我的答案目前处于最低水平。
淘气。如果您要查询任何不可靠的数据库,下次使用隐身模式。
安装 Everything 工具,然后搜索文件 mru.dat 并将其删除

A
Aaron Bertrand

从 SQL Server 2012 开始,您不再需要经历删除 bin 文件的麻烦(这会导致其他副作用)。您应该能够在“连接到服务器”对话框中的“服务器名称”下拉列表的 MRU 列表中按删除键。这在 this Connect itemthis blog post 中有记录。

请注意,如果您对单个服务器名称有多个条目(例如,一个用于 Windows,一个用于 SQL Auth),您将无法判断您正在删除哪一个。


对于 SSMS 11.0.3128.0,这不起作用。是否因为行为导致用户体验不佳而被否决?
@JoeBrockhaus 适用于 11.0.5058.0。只需打开下拉列表,将选择移到要删除的名称上,然后按 Delete 键。如果您有多个条目,您可以选择条目以便组合框关闭,检查它是否是您想要的,然后点击组合框上的打开按钮并按删除(当前选择的条目将被删除)。
严重地?我为什么不先尝试呢?哈哈。对于任何感兴趣的人,我可以确认这在 SSMS 2014 中有效。
也适用于 2016 年。谢谢!我有一个不正确的缓存用户名,这修复了它。
不确定我对“指向光标”以选择 Delete 键的目标的感觉如何,但谢谢,它有效。
H
Hardik

这是从此列表中清除项目的最简单方法。

打开要影响的 Microsoft SQL Server Management Studio (SSMS) 版本。打开连接到服务器对话框(文件->连接对象资源管理器、对象资源管理器->连接->数据库引擎等)。单击服务器名称字段下拉列表的向下箭头。将鼠标悬停在要删除的项目上。按键盘上的删除 (DEL) 键。

我们去吧。


适用于 SQLServer 2014
适用于 SQL Server 2016 管理工作室。
我勒个去!我读了它,就像什么!谁能凭直觉猜到这一点。我试过了,它奏效了。 UX 不是微软的强项。
@rbassett 重新阅读答案-> 不要选择要删除的项目,而是打开下拉菜单,将鼠标悬停在项目上(不选择),然后按 DEL 键。我以前从未见过这样的东西,但它有效!
@Radderz你是对的,我选择了它而不是悬停在上面,很好发现。但是,我对同一台服务器也有多个登录名,其中一个我想删除,因此编辑该 xml 文件意味着我可以删除我不想要的登录名,同时将该服务器的其他登录名保留在那里。
R
Raj More

对于 SQL 2005,删除文件:

C:\Documents and Settings\<USER>\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

对于 SQL 2008,文件位置、格式和名称已更改:

C:\Documents and Settings\<USER>\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

如何清除列表:

关闭 SSMS 的所有实例 删除/重命名文件 打开 SSMS

This request 在 Microsoft Connect 上注册


我打开SqlStudio.bin,文件很大,好像有其他信息,除了连接历史会丢失什么?
该文件包含用户设置 - 您自定义的任何内容都将丢失。如果您有一些 .Net 或 Powershell 技能,请查看此答案 stackoverflow.com/questions/6230159/…
在 widnows 7 中,它位于 C:\Users\\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell 下
很遗憾,我不能完全删除服务器组,而不是我的所有用户设置。
谨慎行事。这实际上并没有按照 OP 的要求执行,即删除单个项目。这会吹走所有物品以及其他偏好。
C
Community

this duplicate question @arcticdev 发布了一些代码,这些代码将删除单个条目(而不是删除 bin 文件的所有条目)。我将它包装在一个非常丑陋的 UI 中并放在这里:http://ssmsmru.codeplex.com/


SSMS 2008 R2 (10.50.1777.0) 对我来说效果很好,但要确保我已经用 SSMS 目录中的 DLL 覆盖了包含的 DLL。据我所知,所有其他设置保持不变。谢谢!
@Mark - 非常感谢。附注:如果您有两个同名的服务器,即使它们具有不同的登录身份验证类型,并且您删除一个,它也会同时删除它们。
我知道这是为 2008 年构建的,但如果有人感兴趣,我在 SSMS 2014 上尝试了这个工具。我不得不更改配置文件以查看正确的目录,它能够在 bin 文件中找到服务器,但是当我点击保存然后打开 SSMS 时,我所有的服务器都不见了,而不仅仅是我删除的那个。幸运的是,我先备份了我的 bin 文件。 :)
2014 年的二进制文件有所不同 - 我还没有完成 2012/2014 版本,因为可以从 SSMS 中删除服务器。如果有兴趣,我可以尝试找一些时间来创作。
@Mark 这非常适合 MSSQL 2008 R2 Management Studio。我很高兴我一直阅读评论/答案并找到了这个。
D
Damian Powell

对于 SQL Server 2012 Management Studio,此文件已移动。它现在位于:

C:\Users\<username>\AppData\Roaming\Microsoft\
    SQL Server Management Studio\11.0\SqlStudio.bin

对于 SSMS 2014,它现在位于 c:\Users\<username>\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin,但我猜这有点明显。
使用:%appdata%\Roaming\Microsoft\ SQL Server Management Studio\11.0\SqlStudio.bin 可以更快地到达
R
Richard Marskell - Drackir

在带有 SQL Express 2008 的 Windows Server 2008 标准中,“SqlStudio.bin”文件位于此处:

%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\

这没有帮助。该文件将使用相同的用户重新创建。
@nima 您可能需要在删除文件之前关闭 SSMS。另请参阅我的答案以了解删除单个项目的方法。
D
David Sanders

从上述路径删除文件:(删除前请关闭SSMS)

SQL Server 2005 用户的文件位置路径,

C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

SQL Server 2008 用户的文件位置路径,

注意:格式名称已更改。

C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

Server 2008 标准/SQL Express 2008 用户的文件位置路径

C:\Documents and Settings\%USERNAME%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server 2012 用户的文件位置路径,

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server 2014 用户的文件位置路径,

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

注意:SSMS 2012 (Version 10.50.1600.1 OR Above) 中,您可以通过从下拉列表中选择服务器名称并按 DELETE 来删除它。


对于 SQL Server Management Studio 18.8,我在 C:\Users\USERNAME\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml 中找到了服务器设置
P
Pang

这是一个简单的方法。

打开连接窗口,单击服务器名称下拉菜单,将鼠标悬停在要删除的连接字符串上,然后按删除。


T
Tommy Grovnes

在 SSMS 2012 中,有一种记录方法可以从“连接到服务器”对话框中删除服务器名称。现在,我们可以通过在对话框中选择它并按 DELETE 来删除服务器名称。


用 SSMS 11.0.3128.0 验证这不起作用。可能被否决了,因为它掩盖了本机删除行为。 (MSDN 帖子指出删除后前一个项目文本将保留在框中,这是一个糟糕的用户体验决定。如果我只想删除文本而不是保存的条目怎么办?)
就我而言,我有 11.0.3000.0 版本,它工作正常。只需单击下拉菜单,选择服务器,然后单击删除。是的,这有点令人困惑。
你在哪里“点击”删除?我的 UI 中没有删除按钮。尽管如此,即使只是按下删除键也只会删除 ComboBox 中的文本,并且该条目仍保留在下拉列表中。
对不起我的错误,而不是“点击删除”,我应该写“按下删除键”。没有删除按钮,您需要从键盘按 Delete 键。
C
Community

文件 SqlStudio.bin 实际上包含“Microsoft.SqlServer.Management.UserSettings.SqlStudio”类型的二进制序列化数据。

Using BinaryFormatter class you can write simple .NET application in order to edit file content.


请参阅我的答案,了解我围绕此代码包装的简单 UI。
g
ggponti

从命令提示符(开始\所有程序\附件\命令提示符):

DEL /S SqlStudio.bin

s
sergiommaria

这是正确的做法http://blogs.msdn.com/b/managingsql/archive/2011/07/13/deleting-old-server-names-from-quot-connect-to-server-quot-dialog-in-ssms.aspx


以上是简单支持的方式,适用于 2012 及更高版本。
现在链接坏了。
a
abatishchev

对于 Windows Vista 和 SQL Server 2005,

删除此文件,或使用记事本打开它并清除您想要的服务器名称 从历史记录中清除

%UserProfile%\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

P
Peter

C:\Users\\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell


P
Pang

而不是删除或重命名此文件:

关闭 SQL Server Management Studio。找到合适的文件(参见其他帖子)。在 NotePad++ 等文本/十六进制编辑器中打开 .bin。搜索其中一台服务器的名称并确定行号。制作 .bin/.dat 文件的副本。删除该行。确保删除整行,如果有很多行可以换行,则有可能。打开 SQL Server 管理工作室。您的下拉菜单将是空白的。