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

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

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

person Community    schedule 29.06.2009    source источник
comment
Посмотрите мой ответ на небольшой пользовательский интерфейс, который я написал для этого, я немного опоздал на вечеринку, поэтому в настоящее время мой ответ находится далеко внизу.   -  person Mark    schedule 24.10.2012
comment
Непослушный. В следующий раз используйте режим инкогнито, если вы собираетесь запрашивать любые сомнительные базы данных.   -  person Colonel Panic    schedule 07.01.2015
comment
Установите инструмент Everything, затем найдите файл mru.dat и удалите его.   -  person KhaledDev    schedule 26.01.2016


Ответы (15)


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

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

person Aaron Bertrand    schedule 12.06.2012
comment
С SSMS 11.0.3128.0 это не работает. Это было отклонено, потому что поведение привело к плохому UX? - person JoeBrockhaus; 20.01.2014
comment
@JoeBrockhaus Работает с 11.0.5058.0. Просто откройте раскрывающийся список, переместите выделение на имя, которое вы хотите удалить, и нажмите клавишу «Удалить». Если у вас есть несколько записей, вы можете выбрать запись, чтобы ComboBox закрылся, проверьте, что это тот, который вам нужен, затем нажмите кнопку открытия на ComboBox и нажмите удалить (текущая выбранная запись будет удалена). - person Trisped; 30.09.2014
comment
Шутки в сторону? Почему я не попробовал сначала? Ха-ха. Для всех, кому интересно, я могу подтвердить, что это работает в SSMS 2014. - person Jargs; 15.11.2014
comment
Работает и на 2016 год. Спасибо! У меня было неправильное кешированное имя пользователя, и это исправило его. - person Charl; 12.01.2017
comment
Действительно хорошее решение. Работает как шарм. - person slashCoder; 28.03.2017
comment
Работает на 2014 год. Спасибо - person Esat ARSLAN; 27.02.2019
comment
Не уверен, как я отношусь к наведению курсора для выбора цели клавиши Delete, но спасибо, это работает. - person linhartr22; 10.05.2019

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

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

вот и мы.

person Hardik    schedule 24.02.2017
comment
Работает с SQLServer 2014 - person jomarmen; 30.10.2017
comment
Работает с SQL Server 2016 Management Studio. - person Poosh; 20.06.2018
comment
Это отлично работает для удаления истории имен серверов. Есть ли способ удалить историю входов в систему? - person Yogesh Patel; 27.11.2018
comment
БУМ! Работает с SQL Server Management Studio 17.9.1. - person edcincy; 16.01.2019
comment
Что за черт! Я прочитал и подумал, ЧТО! Как можно было бы интуитивно догадаться об этом. Я попробовал, и это сработало. UX не является сильной стороной Microsoft. - person DinoSaadeh; 26.03.2019
comment
Это супер просто - person Bhargav Konda; 04.05.2020
comment
Святая мама !! супер просто. эта работа для меня с SQL Server Management Studio 18.5 - person A3IOU; 04.06.2020
comment
Нажатие «Удалить» на клавиатуре с выбранным сервером не работает для 18.8, однако я перенёс свои настройки с 17.X, поэтому мне интересно, не облажалось ли это. Любые идеи? - person rbassett; 06.04.2021
comment
Я нашел C: \ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ SQL Server Management Studio \ 18.0 \ UserSettings.xml, который содержал имена серверов, которые я мог удалить вручную - person rbassett; 06.04.2021

Для 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. Открыть SSMS

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

person Raj More    schedule 29.06.2009
comment
Я открываю SqlStudio.bin, файл большой, кажется, что он может содержать другую информацию, что будет потеряно, кроме истории подключений? - person Cheung; 01.08.2010
comment
Файл содержит пользовательские настройки - все, что вы настроили, будет потеряно. Если у вас есть навыки работы с .Net или Powershell, посмотрите этот ответ stackoverflow.com/questions/6230159/ - person Raj More; 17.08.2011
comment
В widnows 7 он находится в C: \ Users \ ‹USER› \ AppData \ Roaming \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell. - person Marwan; 17.02.2013
comment
Жалко, что я не могу удалить именно группу серверов, а не все свои пользовательские настройки. - person Johnny_D; 05.11.2013
comment
ДЕЙСТВУЙТЕ ВНИМАНИЕ. На самом деле это не выполняет то, что запросил OP, а именно удаление отдельных элементов. Это удаляет все элементы, а также другие предпочтения. - person Aaron Bertrand; 12.01.2017

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

person Mark    schedule 26.09.2012
comment
У меня хорошо сработало для SSMS 2008 R2 (10.50.1777.0), но для уверенности я перезаписал включенные библиотеки DLL библиотеками из каталога SSMS. Насколько я могу судить, все остальные настройки остались нетронутыми. Спасибо! - person jaraics; 28.05.2014
comment
@Mark - Большое спасибо. Примечание: если у вас есть два сервера с одинаковым именем, даже если у них разные типы аутентификации входа, и вы удалите один, он удалит их оба. - person Keith; 20.08.2014
comment
Я знаю, что это было построено для 2008 года, но, если кому-то интересно, я попробовал этот инструмент на SSMS 2014. Мне пришлось изменить файл конфигурации, чтобы он выглядел в правильном каталоге, и он смог найти серверы в файле bin, но когда я нажал кнопку «Сохранить», а затем открыл SSMS, все мои серверы исчезли, а не только тот, который я удалил. К счастью, я сначала сделал резервную копию своего bin-файла. :) - person Jargs; 15.11.2014
comment
Для 2014 года бинарные файлы разные - я не делал версию 2012/2014, так как можно удалить сервер из SSMS. Если был интерес, я мог бы найти время для творчества. - person Mark; 15.12.2014
comment
@Mark Это отлично сработало для MSSQL 2008 R2 Management Studio. Я рад, что продолжил читать комментарии / ответы и нашел этот. - person HPWD; 11.02.2015

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

C:\Users\<username>\AppData\Roaming\Microsoft\
    SQL Server Management Studio\11.0\SqlStudio.bin
person Damian Powell    schedule 12.06.2012
comment
А для SSMS 2014 это сейчас c:\Users\<username>\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin, но я предполагаю, что это было очевидно. - person charlie; 06.06.2014
comment
быстрее добраться с помощью: %appdata%\Roaming\Microsoft\ SQL Server Management Studio\11.0\SqlStudio.bin - person Patrick Honorez; 05.09.2016

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

%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\
person Community    schedule 21.08.2009
comment
Это не помогает. Файл будет воссоздан с теми же пользователями. - person nima; 24.09.2012
comment
@nima вам может потребоваться закрыть SSMS перед удалением файла. Также см. Мой ответ о способе удаления отдельных элементов. - person Mark; 27.09.2012

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

person pedram    schedule 14.10.2015
comment
Для SQL Server Management Studio 18.8 я нашел настройки сервера в C: \ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ SQL Server Management Studio \ 18.0 \ UserSettings.xml - person rbassett; 06.04.2021

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

person Chintak Chhapia    schedule 17.10.2012
comment
проверено с SSMS 11.0.3128.0, это не работает. Вероятно, был запрещен, потому что он затуманивает собственное поведение при удалении. (В сообщении MSDN говорится, что текст предыдущего элемента останется в поле после удаления, что является плохим решением UX. Что, если бы я просто хотел удалить текст, а не сохраненную запись?) - person JoeBrockhaus; 20.01.2014
comment
В моем случае у меня версия 11.0.3000.0, и она отлично работает. Просто вам нужно щелкнуть раскрывающийся список, выбрать сервер и затем щелкнуть удалить. Да, это немного сбивает с толку. - person Chintak Chhapia; 19.02.2014
comment
где вы нажимаете удалить? В моем интерфейсе нет кнопки удаления. Тем не менее, даже простое нажатие клавиши удаления просто удаляет текст в ComboBox, а запись остается в раскрывающемся списке. - person JoeBrockhaus; 05.03.2014
comment
Извините за ошибку, вместо того, чтобы нажимать "удалить", я должен был написать "нажмите клавишу удаления". Нет кнопки для удаления, вам нужно нажать клавишу Delete с клавиатуры. - person Chintak Chhapia; 27.03.2014

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

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

person Tomas    schedule 03.05.2010
comment
См. Мой ответ о простом пользовательском интерфейсе, который я обернул вокруг этого кода. - person Mark; 27.09.2012

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

DEL /S SqlStudio.bin
person ggponti    schedule 23.10.2009

Вот простой способ.

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

person Varus    schedule 11.06.2019

Это правильный способ сделать это http://blogs.msdn.com/b/managingsql/archive/2011/07/13/deleting-old-server-names-from-quot-connect-to-server-quot-dialog-in-ssms.aspx

person sergiommaria    schedule 04.07.2015
comment
Выше приведен простой поддерживаемый способ, работающий с 2012 года и выше. - person Darren; 22.06.2016
comment
Ссылка сейчас не работает. - person Sushil Jadhav; 12.04.2019

Для Windows Vista и SQL Server 2005,

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

%UserProfile%\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
person Mido-Egypt    schedule 23.10.2009

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

person Peter    schedule 26.09.2013

Вместо того, чтобы удалять или переименовывать этот файл:

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