Удаление списка сохраненных логинов и паролей в SQL Server Management Studio
-
20-08-2019 - |
Вопрос
Недавно я пользовался запасным ноутбуком нашей компании (который настроен для обычных пользователей), пока мой ремонтировался.Я проверил опцию "Запомнить пароль" в SQL Server Management Studio при входе в базу данных.
Мне нужно очистить данные для входа и пароля, которые я использовал, чтобы запретить следующему пользователю, который будет пользоваться ноутбуком, использовать мои имена для входа и пароли.Как я могу это сделать?
Нет правильного решения
Другие советы
В другом ответе здесь также упоминается, что с 2012 года вы можете удалить Remove cached login через Как удалить кэшированные имена серверов из диалогового окна Подключения к серверу?.Только что подтвердил, что это удаление в списке MRU отлично работает в 2016 и 2017 годах.
Студия управления SQL Server 2017 удалите файл
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin
Студия управления SQL Server 2016 удалите файл
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin
Студия управления SQL Server 2014 удалите файл
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin
Студия управления SQL Server 2012 удалите файл
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin
Студия управления SQL Server 2008 удалите файл C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
Студия управления SQL Server 2005 удалите файл – тот же ответ, что и выше, но путь к Vista.C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
Это пути профиля для Vista / 7 / 8.
Редактировать:
Примечание, AppData
это скрытая папка.Вам нужно показать скрытые папки в проводнике.
Редактировать:Вы можете просто нажать удалить из выпадающего списка Сервер / Имя пользователя (подтверждено, что работает для SSMS версии 18.0).Оригинальный источник из https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds-049/ в котором упоминалось, что эта функция доступна с 2012 года!
Для тех, кто ищет решение SSMS 2012...смотрите этот ответ:
Удалить кэшированный логин 2012
По сути, в 2012 году вы можете удалить сервер из выпадающего списка серверов, который очищает все кэшированные логины для этого сервера.
Работает также в версии 17 (сборка 14.x).
В моем сценарии я только хотел удалить определенное имя пользователя / пароль из списка, в котором было много других сохраненных подключений, которые я не хотел забывать.Оказывается, что SqlStudio.bin
файл, который другие обсуждают здесь, представляет собой двоичную сериализацию .NET Microsoft.SqlServer.Management.UserSettings.SqlStudio
класс, который может быть десериализован, изменен и повторно сериализован для изменения определенных настроек.
Чтобы выполнить удаление определенного входа, я создал новое консольное приложение C # .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);
}
}
}
Для SQL Server Management Studio 2008
Тебе нужно идти C:\Documents и настройки\%имя пользователя%\Приложение Данные\Microsoft\Microsoft SQL Server\100\Инструменты\ оболочка
Удалить SqlStudio.bin
Удалить:
C:\Documents и настройки\%Ваше имя пользователя%\Данные приложения\Microsoft\ Microsoft SQL Server\90 ools\Shell\mru.dat"
В XP файл .mru.dat находится в C:\Documents и Настройки\Имя\ Данные приложения\Microsoft\ Microsoft SQL Server\90\Инструменты\ShellSEM
Однако его удаление ничего не даст.
Чтобы удалить список в XP, вырежьте файл sqlstudio bin из C:\Documents и Settings ame\Application Data\Microsoft\ Microsoft SQL Server\100 ools\ Shell и вставьте его на свой рабочий стол.
Попробуйте SQL
Если это сработало, то удалите файл sqlstudio bin с рабочего стола.
Легко :)
Это работает для SQL Server Management Studio версии 18.0
Файл "SqlStudio.bin", похоже, больше не существует.Вместо этого все мои настройки хранятся в этом файле:
C:\Users\*********\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml
- Откройте его в любом текстовом редакторе, например Notepad ++
- ctrl+f для удаления имени пользователя
- затем удалите весь
<Element>.......</Element>
блок который его окружает.
Как указал глюкс, не более 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.Я предполагаю, что он кэширован где-то в SSMS, помимо этого xml-файла ?!И это не включено Control Panel\All Control Panel Items\Credential Manager\Windows Credentials
.