Вопрос: Студия управления SQL Server Подключитесь к редактированию списка серверов


Я использую SQLServer Management Studio (2005), и у меня есть довольно длинный список серверов, и я хотел бы избавиться от некоторых из них, которые больше не используются, без необходимости их повторного запуска.

Я знаю, что C:\Users\*\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat могут быть удалены, и это приведет к удалению ВСЕХ записей, но все равно нужно просто удалить некоторые из них?

(Информация о кодировании)
Я посмотрел файл, и это сериализованный blob из Microsoft.SqlServer.Express.ConnectionDlg.dll (Class Personalization) в каталоге Appplication, но все методы являются частными. Поэтому я не могу просто создать экземпляр этого, а затем вызвать Удалить записи.

Обновить Я написал статью о CodeProject, объясняющую, как это может быть достигнуто. http://www.codeproject.com/KB/vb/AlterSQL2005MRU.aspx 


6
2018-02-18 05:34


Источник




Ответы:


Это действительно невозможно, даже в хакерском / неподдерживаемом виде. См. Следующую запись в блоге и соответствующий отчет об ошибке Microsoft Connect:

http://sqlblog.com/blogs/aaron_bertrand/archive/2009/03/18/managing-the-mru-list-for-the-connect-to-server-dialog-in-ssms.aspx

https://connect.microsoft.com/SQLServer/feedback/details/424800/ssms-expose-connect-to-server-mru-list-to-users


1
2018-02-18 14:44





После большого взлома с Reflection я решил эту проблему. Мне удалось написать ОЧЕНЬ уродливое приложение, которое использует ссылку на вышеупомянутую DLL, а затем может войти и удалить определенную запись из списка. Если люди заинтересованы, я могу опубликовать программу на CodeProject в качестве способа ее выполнения. Дайте мне знать через голосование или комментарии.


1
2018-03-10 04:28