Удаление сохраненного списка логинов и паролей в 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

  • Вам нужно перейти C:\Documents and Settings\%username%\Application Данные \Microsoft\Microsoft SQL Server\100\Tools\Shell

  • Удалить SqlStudio.bin

Ответ 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.