web-dev-qa-db-fra.com

Suppression de la liste des noms de connexion et des mots de passe mémorisés dans SQL Server Management Studio

J'ai récemment utilisé l'ordinateur portable de rechange de notre société (qui a été configuré pour un utilisateur général) pendant la réparation du mien. J'ai vérifié l'option "Mémoriser le mot de passe" dans SQL Server Management Studio lors de la connexion à la base de données.

Je dois effacer les informations de connexion et de mot de passe que j'ai utilisées pour empêcher la prochaine personne qui utilisera l'ordinateur portable d'utiliser mes noms de connexion et mots de passe. Comment puis-je faire ceci?

221
Elanie Meyer

Une autre réponse ici mentionne également depuis 2012, vous pouvez supprimer Supprimer la connexion en cache via Comment supprimer les noms de serveur en cache de la boîte de dialogue Connexion au serveur? . Je viens de confirmer que cette suppression dans la liste MRU fonctionne correctement en 2016 et 2017.

SQL Server Management Studio 2017 supprimez le fichier C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server Management Studio 2016 supprimez le fichier C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server Management Studio 2014 supprime le fichier C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server Management Studio 2012 supprime le fichier C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server Management Studio 2008 supprime le fichier C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server Management Studio 2005 supprime le fichier - comme ci-dessus, mais réponse le chemin Vista. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

Ce sont des chemins de profil pour Vista/7/8.

MODIFIER:

Remarque: AppData est un dossier caché. Vous devez afficher les dossiers cachés dans l'explorateur.

EDIT: Vous pouvez simplement appuyer sur delete dans la liste déroulante Server/User Name (confirmé pour fonctionner avec SSMS v18.0). Source originale de https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds-049 / qui a mentionné que cette fonctionnalité est disponible depuis 2012!

311
Robin Luiten

Pour ceux qui recherchent la solution SSMS 2012 ... voyez cette réponse:

Supprimer la connexion en cache 2012

En 2012, vous pouvez essentiellement supprimer le serveur de la liste déroulante Liste des serveurs, ce qui efface toutes les connexions en cache de ce serveur.

Fonctionne également dans v17 (build 14.x).

34
Edyn

Dans mon scénario, je voulais seulement supprimer un nom d'utilisateur/mot de passe spécifique de la liste, qui contenait de nombreuses autres connexions enregistrées que je ne voulais pas oublier. Il s’avère que le fichier SqlStudio.bin Que d’autres discutent ici est une sérialisation binaire .NET de la classe Microsoft.SqlServer.Management.UserSettings.SqlStudio, Qui peut être désérialisée, modifiée et resérialisée pour modifier des paramètres spécifiques.

Pour supprimer l’identifiant spécifique, j’ai créé une nouvelle application console C # .Net 4.6.1 et ajouté une référence à l’espace de nommage situé dans la dll suivante: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll (votre chemin peut différer légèrement Version SSMS)

À partir de là, je pourrais facilement créer et modifier les paramètres à volonté:

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

Pour SQL Server Management Studio 2008

  1. Vous devez y aller C:\Documents and Settings \% nom d'utilisateur%\Application Data\Microsoft\Serveur SQL Microsoft\100\Tools\Shell

  2. Supprimer SqlStudio.bin

4
Chicharito

Effacer:

C:\Documents and Settings \% votre nom d'utilisateur%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat "

3
BobbyShaftoe

Sous XP, le fichier .mru.dat se trouve dans C:\Documents and Settings\Nom\Application Data\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM

Cependant, l'enlever ne fera rien.

Pour supprimer la liste sous XP, coupez le fichier bin sqlstudio dans C:\Documents and Settings\Nom\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell et collez-le sur votre bureau.

Essayez SQL

Si cela a fonctionné, supprimez le fichier bin sqlstudio du bureau.

Facile :)

2
Dave

Cela fonctionne pour SQL Server Management Studio v18.0

Le fichier "SqlStudio.bin" ne semble plus exister. Au lieu de cela, tous mes paramètres sont stockés dans ce fichier:

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

  • Ouvrez-le dans n'importe quel éditeur de texte comme Notepad ++
  • ctrl + f pour le nom d'utilisateur à supprimer
  • puis supprimez l'intégralité du <Element>.......</Element> bloc qui l’entoure.
2
gluecks

Comme l'a souligné gluecks, pas plus de SqlStudio.bin Dans Microsoft SQL Server Management Studio 18. J'ai aussi trouvé ce UserSettings.xml Dans C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. Mais supprimer le <Element> Contenant le justificatif ne semble pas fonctionner, cela revient tout de suite sur le fichier xml, si je le ferme et le rouvre à nouveau.

Il s'avère que vous devez fermez d'abord SQL Server Management Studio, puis modifiez le fichier UserSettings.xml Dans votre éditeur favori, par exemple. Code Visual Studio. Je suppose que c'est caché quelque part dans SSMS en plus de ce fichier xml?! Et ce n'est pas sur Control Panel\All Control Panel Items\Credential Manager\Windows Credentials.

1
Weihui Guo