Удаление сохраненного списка логинов и паролей в SQL Server Management Studio
Недавно я использовал запасной ноутбук нашей компании (который имеет общий пользовательский настрой), в то время как мой ремонт был отремонтирован. Я проверил параметр "Запомнить пароль" в SQL Server Management Studio при входе в базу данных.
Мне нужно очистить информацию о логине и пароле, которую я использовал, чтобы предотвратить следующее лицо, которое будет использовать ноутбук, используя мои логин-имена и пароли. Как я могу это сделать?
Ответы
Ответ 1
В другом ответе здесь также упоминается, что с 2012 года вы можете удалить Удалить кэшированный вход через Как удалить кэшированные имена серверов в диалоговом окне "Подключиться к серверу"? , Только что подтвердил, что удаление в списке MRU отлично работает в 2016 и 2017 годах.
SQL Server Management Studio 2017 удаляет файл C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin
SQL Server Management Studio 2016 удаляет файл C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin
SQL Server Management Studio 2014 удалите файл C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin
SQL Server Management Studio 2012 удалите файл C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin
SQL Server Management Studio 2008 удаляет файл C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
SQL Server Management Studio 2005 удалить файл - тоже самое, что и выше, но путь Vista. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
Это пути к профилям для Vista/7/8.
РЕДАКТИРОВАТЬ:
Обратите внимание, AppData
является скрытой папкой. Вам нужно показать скрытые папки в проводнике.
РЕДАКТИРОВАТЬ: Вы можете просто нажать "Удалить" в раскрывающемся списке "Сервер/Имя пользователя" (подтверждено, что он работает для SSMS v18.0). Первоисточник из https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds-049/, в котором упоминается, что эта функция доступна с 2012 года!
Ответ 2
Для тех, кто ищет решение SSMS 2012... посмотрите этот ответ:
Удалить кэшированный логин 2012
По сути, в 2012 году вы можете удалить сервер из раскрывающегося списка серверов, который очищает все кэшированные имена входа для этого сервера.
Работает также в v17 (сборка 14.x).
Ответ 3
В моем сценарии я только хотел удалить определенное имя пользователя/пароль из списка, в котором было много других сохраненных соединений, которые я не хотел забывать. Оказывается, файл SqlStudio.bin
который обсуждают здесь другие, представляет собой двоичную сериализацию .NET класса Microsoft.SqlServer.Management.UserSettings.SqlStudio
, которую можно десериализовать, модифицировать и повторно сериализовать для изменения определенных параметров.
Чтобы выполнить удаление определенного имени входа, я создал новое консольное приложение С#.Net 4.6.1 и добавил ссылку на пространство имен, которое находится в следующем dll: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll
(ваш путь может немного отличаться в зависимости от версии SSMS)
Оттуда я мог легко создавать и изменять настройки по желанию:
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using Microsoft.SqlServer.Management.UserSettings;
class Program
{
static void Main(string[] args)
{
var settingsFile = new FileInfo(@"C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin");
// Backup our original file just in case...
File.Copy(settingsFile.FullName, settingsFile.FullName + ".backup");
BinaryFormatter fmt = new BinaryFormatter();
SqlStudio settings = null;
using(var fs = settingsFile.Open(FileMode.Open))
{
settings = (SqlStudio)fmt.Deserialize(fs);
}
// The structure of server types / servers / connections requires us to loop
// through multiple nested collections to find the connection to be removed.
// We start here with the server types
var serverTypes = settings.SSMS.ConnectionOptions.ServerTypes;
foreach (var serverType in serverTypes)
{
foreach (var server in serverType.Value.Servers)
{
// Will store the connection for the provided server which should be removed
ServerConnectionSettings removeConn = null;
foreach (var conn in server.Connections)
{
if (conn.UserName == "adminUserThatShouldBeRemoved")
{
removeConn = conn;
break;
}
}
if (removeConn != null)
{
server.Connections.RemoveItem(removeConn);
}
}
}
using (var fs = settingsFile.Open(FileMode.Create))
{
fmt.Serialize(fs, settings);
}
}
}
Ответ 4
Для SQL Server Management Studio 2008
Ответ 5
Удалить
C:\Documents and Settings\%Ваше имя пользователя%\Данные приложения \Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat "
Ответ 6
В XP файл .mru.dat находится в папке C:\Documents and Settings\Name\Application Data\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM
Однако удаление этого ничего не сделает.
Чтобы удалить список в XP, вырежьте файл bin sqlstudio из C:\Documents and Settings\Name\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell и вставьте его на свой рабочий стол.
Попробуйте SQL
Если он сработал, удалите файл bin sqlstudio с рабочего стола.
Просто:)
Ответ 7
Это работает для SQL Server Management Studio v18.0
Файл SqlStudio.bin, похоже, больше не существует. Вместо этого все мои настройки хранятся в этом файле:
C:\Users\*********\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml
- Откройте его в любом текстовом редакторе, как Notepad++
- Ctrl + F для имени пользователя, который будет удален
- затем удалите весь блок
<Element>.......</Element>
который его окружает.
Ответ 8
Как указывали глюки, SqlStudio.bin
больше не SqlStudio.bin
в Microsoft SQL Server Management Studio 18. Я также нашел этот UserSettings.xml
в C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0
. Но удаление <Element>
содержащего учетные данные, кажется, не работает, оно возвращается к файлу XML, если я закрою его и снова открою.
Оказывается, сначала нужно закрыть SQL Server Management Studio, а затем отредактировать файл UserSettings.xml
в своем любимом редакторе, например, в Visual Studio Code. Я предполагаю, что это кешируется где-то в SSMS помимо этого XML файла?! И это не на Control Panel\All Control Panel Items\Credential Manager\Windows Credentials
.