Domanda

Di recente ho usato il laptop di riserva della nostra azienda (che ha un utente generico impostato) mentre il mio veniva riparato. Ho controllato il & Quot; Ricorda la password & Quot; opzione in SQL Server Management Studio quando si accede al database.

Devo cancellare le informazioni di accesso e password che ho usato per impedire alla persona successiva che utilizzerà il laptop di usare i miei nomi e password di accesso. Come posso farlo?

Nessuna soluzione corretta

Altri suggerimenti

Un'altra risposta qui menziona anche dal 2012 è possibile rimuovere Rimuovi accesso memorizzato nella cache tramite Come rimuovere i nomi dei server memorizzati nella cache nella finestra di dialogo Connect to Server? . Ho appena confermato che questa eliminazione nell'elenco MRU funziona correttamente nel 2016 e nel 2017.

SQL Server Management Studio 2017 elimina il file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server Management Studio 2016 elimina il file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server Management Studio 2014 elimina il file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server Management Studio 2012 elimina il file C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server Management Studio 2008 elimina il file C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server Management Studio 2005 elimina il file & # 8211; come sopra la risposta ma il percorso Vista. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

Questi sono percorsi di profilo per Vista / 7 / 8.

EDIT:

Nota, AppData è una cartella nascosta. Devi mostrare cartelle nascoste in Explorer.

EDIT: Puoi semplicemente premere Elimina dal menu a discesa Server / Nome utente (confermato per funzionare con SSMS v18.0). Fonte originale da https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds -049 / che indica che questa funzione è disponibile dal 2012!

Per coloro che cercano la soluzione SSMS 2012 ... vedi questa risposta:

Rimuovi accesso memorizzato nella cache 2012

In sostanza, nel 2012 è possibile eliminare il server dall'elenco a discesa dell'elenco dei server che cancella tutti gli accessi memorizzati nella cache per quel server.

Funziona anche in v17 (build 14.x).

Nel mio scenario volevo solo rimuovere un nome utente / password specifici dall'elenco che aveva molte altre connessioni salvate che non volevo dimenticare. Si scopre che il SqlStudio.bin file di cui altri stanno discutendo qui è una serializzazione binaria .NET della classe Microsoft.SqlServer.Management.UserSettings.SqlStudio, che può essere deserializzata, modificata e ricerializzata per modificare impostazioni specifiche.

Per ottenere la rimozione dell'account di accesso specifico, ho creato una nuova applicazione console C # .Net 4.6.1 e ho aggiunto un riferimento allo spazio dei nomi che si trova nella seguente dll: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll (il percorso può variare leggermente a seconda dell'SSMS versione)

Da lì ho potuto facilmente creare e modificare le impostazioni come desiderato:

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

Per SQL Server Management Studio 2008

  1. Devi andare C: \ Documents and Settings \% username% \ Application Dati \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell

  2. Elimina SqlStudio.bin

Elimina:

C: \ Documents and Settings \% Nome utente% \ Dati applicazioni \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ Shell \ mru.dat "

In XP, il file .mru.dat è in C: \ Documents and Settings \ Nome \ Dati applicazioni \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ ShellSEM

Tuttavia, rimuoverlo non farà nulla.

Per rimuovere l'elenco in XP, tagliare il file bin sqlstudio da C: \ Documents and Settings \ Nome \ Dati applicazioni \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell e incollarlo sul desktop.

Prova SQL

Se ha funzionato, quindi eliminare il file bin sqlstudio dal desktop.

Facile :)

Funziona con SQL Server Management Studio v18.0

Il file " SqlStudio.bin " non sembra esistere più. Invece le mie impostazioni sono tutte memorizzate in questo file:

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

  • Aprilo in qualsiasi Texteditor come Notepad ++
  • ctrl + f per il nome utente da rimuovere
  • quindi elimina l'intero blocco <Element>.......</Element> che lo circonda.

Come sottolineato da gluecks, non più SqlStudio.bin in Microsoft SQL Server Management Studio 18 . Ho anche trovato questo UserSettings.xml in C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. Ma la rimozione di <Element> contenente le credenziali sembra non funzionare, ritorna sul file xml, se lo chiudo e lo riapro di nuovo.

A quanto pare, devi prima chiudere SQL Server Management Studio , quindi modificare il Control Panel\All Control Panel Items\Credential Manager\Windows Credentials file nel tuo editor preferito, ad es. Codice di Visual Studio. Immagino che sia memorizzato nella cache da qualche parte in SSMS oltre a questo file XML ?! E non è su <=>.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top