Как удалить элементы «Имя сервера» из истории SQL Server Management Studio


173

При попытке подключиться к серверу в Management Studio (в частности, в 2008 году) появляется поле, в котором вы вводите имя сервера. В этом поле также есть раскрывающийся список, в котором отображается история серверов, к которым вы пытались подключиться.

Я бы хотел знать:

  1. Как удалить отдельный элемент из этой истории.
  2. Как удалить элемент из истории полей Login для каждого имени Сервера.

Спасибо!

ssms 

3
Посмотрите мой ответ для небольшого пользовательского интерфейса, который я написал, чтобы сделать это, я немного опоздал на вечеринку, так что мой ответ в настоящее время далеко внизу.
— Марк

1
Непослушный. В следующий раз используйте режим инкогнито, если вы собираетесь запрашивать какие-то хитрые базы данных.
— полковник Паник

Установите инструмент Все, затем найдите файл mru.dat и удалите его
— KhaledDev

Ответы:


138

Начиная с SQL Server 2012 вам больше не нужно проходить через процедуру удаления файла bin (что вызывает другие побочные эффекты). Вы должны быть в состоянии нажать клавишу удаления в списке MRU раскрывающегося списка «Имя сервера» в диалоговом окне «Подключение к серверу». Это задокументировано в этом элементе Connect и в этом блоге .

Обратите внимание, что если у вас есть несколько записей для одного имени сервера (например, один для Windows и один для SQL Auth), вы не сможете определить, какой из них вы удаляете.


С SSMS 11.0.3128.0 это не работает. Неужели это стало причиной того, что поведение привело к плохому UX?
— JoeBrockhaus

6
@JoeBrockhaus Работает с 11.0.5058.0. Просто откройте выпадающий список, переместите выделение на имя, которое вы хотите удалить, и нажмите клавишу Delete. Если у вас есть несколько записей, вы можете выбрать запись, чтобы ComboBox закрылся, убедитесь, что это именно то, что вам нужно, затем нажмите кнопку «Открыть» в ComboBox и нажмите «Удалить» (текущая выбранная запись будет удалена).
— Trisped

5
Шутки в сторону? Почему я не попробовал это первым? Ха - ха. Для тех, кто заинтересован, я могу подтвердить, что это работает в
— SSMS

3
Работает и в 2016 году. Спасибо! У меня было неверное кэшированное имя пользователя, и это исправило это.
— Чарл

1
Не уверен, что я чувствую по поводу "наведения курсора", чтобы выбрать цель клавиши Delete, но спасибо, это работает.
— linhartr22

69

Для 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

Как очистить список:

  1. Закройте все экземпляры SSMS
  2. Удалить / переименовать файл
  3. Open SSMS

Этот запрос зарегистрирован в Microsoft Connect


1
Я открываю SqlStudio.bin, файл большой, кажется возможным содержать другую информацию, что потеряет кроме истории подключений?
— Чеунг

4
Файл содержит настройки пользователя - все, что вы настроили, будет потеряно. Если у вас есть навыки .Net или Powershell, посмотрите на этот ответ stackoverflow.com/questions/6230159/…
— Raj More

5
В widnows 7 он находится в C: \ Users \ <USER> \ AppData \ Roaming \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell
— Marwan

1
Жаль, что я не могу удалить точно группу серверов, не все мои пользовательские настройки.
— Johnny_D

2
ДЕЙСТВОВАТЬ С ОСТОРОЖНОСТЬЮ. Это на самом деле не делает то, что просил ОП, а именно: удалять отдельные предметы. Это уничтожает все предметы и другие предпочтения.
— Аарон Бертран

68

Вот самый простой способ удалить элементы из этого списка.

  1. Откройте версию Microsoft SQL Server Management Studio (SSMS), на которую вы хотите повлиять.
  2. Откройте диалоговое окно « Подключение к серверу » («Файл» -> «Подключить обозреватель объектов», «Обозреватель объектов» -> «Подключиться» -> «Database Engine» и т. Д.).
  3. Нажмите на стрелку вниз в раскрывающемся списке в поле «Имя сервера» .
  4. Наведите указатель мыши на элементы, которые вы хотите удалить.
  5. Нажмите клавишу удаления (DEL) на клавиатуре.

там мы идем.


4
Работает с SQLServer 2014
— jomarmen

1
Работает с SQL Server 2016 Management Studio.
— Пуш

2
БУМ! Работает с SQL Server Management Studio 17.9.1
— edcincy

2
Какого черта! Я прочитал это и было похоже на то, что! Как бы кто-нибудь интуитивно догадался об этом. Я пытался, и это сработало. UX не является сильной стороной Microsoft.
— DinoSaadeh

1
Святая мама !! супер просто. это работа для меня с SQL Server Management Studio 18.5
— A3IOU

43

В ответ на этот повторяющийся вопрос @arcticdev опубликовал некоторый код, который избавит от отдельных записей (в отличие от всех записей, удаляющих файл bin). Я завернул его в очень уродливый интерфейс и выложил здесь: http://ssmsmru.codeplex.com/


Я работал хорошо для SSMS 2008 R2 (10.50.1777.0), но, чтобы убедиться, что я переписал включенные библиотеки DLL из каталога SSMS. Насколько я могу судить, все остальные настройки остались без изменений. Спасибо!
— jaraics

@Mark - Большое спасибо. Примечание: если у вас есть два сервера с одинаковым именем, даже если они имеют разные типы аутентификации при входе, и вы удалите один, он удалит их оба.
— Кит

Я знаю, что это было построено в 2008 году, но на случай, если кому-то будет интересно, я попробовал этот инструмент в SSMS 2014. Мне пришлось изменить файл конфигурации, чтобы посмотреть в нужном каталоге, и он смог найти серверы в файле bin, но когда я нажал «Сохранить», а затем открыл SSMS, все мои серверы исчезли, а не только тот, который я удалил. К счастью, я сначала сделал резервную копию своего бинарного файла. :)
— Jargs

Двоичные файлы отличаются для 2014 года - я не сделал версию 2012/2014, поскольку можно удалить сервер из SSMS. Если бы был интерес, я мог бы попытаться найти время для создания.
— Отметить

@Mark Это отлично работает для MSSQL 2008 R2 Management Studio. Я рад, что продолжал читать комментарии / ответы и нашел это.
— HPWD

20

Для SQL Server 2012 Management Studio этот файл перемещен. Сейчас он находится по адресу:

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

6
А для 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
— Патрик Хонорез

15

В стандарте Windows Server 2008 с SQL Express 2008 файл SqlStudio.bin находится здесь:

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

Это не помогает Файл будет воссоздан с теми же пользователями.
— Нима

2
@nima вам может потребоваться закрыть SSMS перед удалением файла. Также см. Мой ответ для способа удаления отдельных элементов.
— Марк

11

Удалить файл по указанному выше пути: (перед удалением закройте 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.


9

В SSMS 2012 есть документированный способ удаления имени сервера из диалогового окна «Подключение к серверу». Теперь мы можем удалить имя сервера, выбрав его в диалоговом окне и нажав УДАЛИТЬ.


проверено с SSMS 11.0.3128.0 это не работает. Вероятно, получил отказ, потому что это скрывает нативное поведение удаления. (В сообщении MSDN говорится, что предыдущий текст элемента останется в поле после удаления, что является плохим решением UX. Что если я просто хотел удалить текст, а не сохраненную запись?)
— JoeBrockhaus

В моем случае у меня есть версия 11.0.3000.0, и она отлично работает. Просто нужно щелкнуть раскрывающийся список, выбрать сервер, а затем нажать «Удалить». Да, это немного сбивает с толку.
— Чинтак Чхапиа

1
где вы нажимаете "удалить"? В моем интерфейсе нет кнопки удаления. Тем не менее, даже простое нажатие клавиши удаления просто удаляет текст в ComboBox, и запись остается в раскрывающемся списке.
— JoeBrockhaus

Извините за мою ошибку, вместо "нажмите удалить", я должен был написать "нажмите клавишу удаления". Кнопки для удаления нет, нужно нажать клавишу Delete с клавиатуры.
— Чинтак Чхапиа

7

Файл SqlStudio.bin фактически содержит двоичные сериализованные данные типа «Microsoft.SqlServer.Management.UserSettings.SqlStudio».

Используя класс BinaryFormatter, вы можете написать простое приложение .NET для редактирования содержимого файла.


Смотрите мой ответ для простого пользовательского интерфейса, который я обернул вокруг этого кода.
— Марк

6

Из командной строки (Пуск \ Все программы \ Стандартные \ Командная строка):

DEL /S SqlStudio.bin

5

Вот простой способ: откройте окно подключения, щелкните раскрывающийся список «Имя сервера» и наведите указатель мыши на строку подключения, которую хотите удалить, затем нажмите «Удалить».



3

Для Windows Vista и SQL Server 2005,

Удалите этот файл или откройте его с помощью Блокнота и удалите имена серверов, которые вы хотите Очистить от истории

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


0

Вместо удаления или переименования этого файла:
1) Закройте SQL Management Studio
2) Найдите соответствующий файл (см. Сообщение или ответы выше)
3) Откройте .bin в текстовом / шестнадцатеричном редакторе, таком как NotePad ++
4) Найдите имя одного из серверы и определите номер строки
5) Сделайте копию файла .bin / .dat
6) Удалите эту строку, убедитесь, что вы удалили всю строку, возможно, если у вас будет много строк, которые можно обернуть.
7) Откройте SQL Management Studio, ваш раскрывающийся список будет пустым

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.