Pergunta

Eu usei recentemente laptop de reposição da nossa empresa (que tem um usuário geral configurar) enquanto o meu estava sendo reparado. Eu verifiquei a opção "Lembrar senha" em SQL Server Management Studio ao efetuar login no banco de dados.

Eu preciso limpar as informações de login e senha que eu usei para evitar que a próxima pessoa que vai usar o laptop de usar meus nomes de login e senhas. Como posso fazer isso?

Nenhuma solução correta

Outras dicas

Outra resposta aqui também menciona desde 2012 você pode remover Remova o login em cache através de Como remover nomes de servidor em cache do conectar ao servidor de diálogo? . Apenas confirmou esta exclusão na lista MRU bem funciona em 2016 e 2017.

SQL Server Management Studio 2017 excluir o arquivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server Management Studio 2016 excluir o arquivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server Management Studio 2014 excluir o arquivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server Management Studio 2012 excluir o arquivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server Management Studio 2008 excluir o arquivo C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server Management Studio 2005 excluir o arquivo - o mesmo que resposta acima, mas o caminho Vista. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

Estes são caminhos de perfil para Vista / 7/8.

EDIT:

Note, AppData é uma pasta oculta. Você precisa mostrar pastas ocultas no explorador.

EDIT: Você pode simplesmente pressionar a supressão do nome do servidor / usuário suspensa (confirmado para estar trabalhando para SSMS v18.0). fonte original de https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds -049 / que mencionou que este recurso está disponível desde 2012!

Para aqueles que procuram os SSMS 2012 solução ... veja esta resposta:

Remover em cache de login 2012

Essencialmente, em 2012 você pode excluir o servidor na lista suspensa lista de servidores que limpa todos os logins armazenados em cache para esse servidor.

também funciona em v17 (construção 14.x).

Em meu cenário Eu só queria remover um determinado nome de usuário / senha a partir da lista que tinha muitas outras conexões salvas Eu não quero esquecer. Acontece que o arquivo SqlStudio.bin outros estão discutindo aqui é uma serialização .NET binário da classe Microsoft.SqlServer.Management.UserSettings.SqlStudio, que pode ser desserializado, modificado e reserialized para modificar as configurações específicas.

Para realizar a remoção do login específico, eu criei uma nova aplicação 4.6.1 consola C # .Net e acrescentou uma referência ao namespace que está localizado na seguinte dll: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll (o caminho pode ser ligeiramente diferente dependendo da versão do SSMS)

De lá, eu poderia facilmente criar e modificar as configurações conforme desejado:

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);
        }
    }
}

Para o SQL Server Management Studio 2008

  1. Você precisa ir C: \ Documents and Settings \% username% \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell

  2. Excluir SqlStudio.bin

Apagar:

C: \ Documents and Settings \% Seu nome de usuário% \ Application Data \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ Shell \ mru.dat "

No XP, o arquivo .mru.dat está em C: \ Documents and Settings \ nome \ Application Data \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ ShellSEM

No entanto, a remoção não vai fazer nada.

Para remover a lista no XP, cortar o arquivo bin sqlstudio de C:. \ Documents and Settings \ nome \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell e colá-lo em seu desktop

Tente SQL

Se ele tem trabalhado, em seguida, exclua o arquivo bin sqlstudio de desktop.

Fácil:)

Isso funciona para SQL Server Management Studio v18.0

O arquivo "SqlStudio.bin" parece não existir mais. Em vez disso as minhas configurações são armazenados neste arquivo:

C:\Users\*********\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml

  • Open-lo em qualquer Texteditor como o Notepad ++
  • ctrl + f para o nome de usuário para ser removido
  • , em seguida, apagar todo o bloco <Element>.......</Element> que o rodeia.

Como Gluecks apontou, não mais SqlStudio.bin em Microsoft SQL Server Management Studio 18 . Eu também encontrei este UserSettings.xml em C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. Mas a remoção do <Element> contendo a credencial parece não funcionar, ele volta direito no arquivo xml, se eu fechar e re-abri-lo novamente.

Acontece que, você precisa Fechar o SQL Server Management Studio primeira , em seguida, editar o arquivo UserSettings.xml em seu editor favorito, por exemplo, Visual Código Studio. Eu acho que é armazenado em cache em algum lugar no SSMS além deste arquivo xml ?! E não é em Control Panel\All Control Panel Items\Credential Manager\Windows Credentials.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top