Suppression de la liste de login et de mot 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 un utilisateur général mis en place) pendant que le mien était en cours de réparation. 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 mot de passe que j'ai utilisé pour empêcher la prochaine personne qui va utiliser l'ordinateur portable d'utiliser mes noms de connexion et mots de passe. Comment puis-je faire cela?

195
demandé sur Emad Armoun 2008-12-08 17:14:10

6 réponses

une autre réponse ici mentionne également depuis 2012 que vous pouvez supprimer supprimer la connexion Mise en cache via Comment supprimer les noms de serveurs mis en cache dans la boîte de dialogue Se connecter au serveur? . Vient de confirmer cette suppression dans la liste MRU fonctionne très bien en 2016 et 2017.

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

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

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

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

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

SQL Server Management Studio 2005 supprimer le fichier – mêmes que ci-dessus répondez, mais le chemin Vista. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\Tools\Shell\mru.dat

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

EDIT:

Note, AppData est un dossier caché. Vous devez afficher les dossiers cachés dans l'Explorateur.

277
répondu Robin Luiten 2017-12-15 20:32:08

pour ceux qui recherchent la solution SSMS 2012... voir la réponse:

Supprimer le cache de connexion 2012

essentiellement, en 2012, vous pouvez supprimer le serveur de la liste des serveurs qui efface toutes les connexions mises en cache pour ce serveur.

27
répondu Edyn 2017-05-23 11:55:01

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

pour effectuer la suppression de la connexion spécifique, j'ai créé un nouveau c# .Net 4.6.1 application console et ajouté un référence à l'Espace-nom qui se trouve dans la dll suivante: C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll (votre chemin peut différer légèrement selon la version SSMS)

de là je pouvais facilement créer et modifier les paramètres comme désiré:

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.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);
        }
    }
}
5
répondu Neil 2018-09-07 18:02:13

pour SQL Server Management Studio 2008

  1. You need to go C:\Documents et paramètres\%Nom d'utilisateur % \Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell

  2. Supprimer SqlStudio.bin

4
répondu Chicharito 2014-01-13 08:04:57

Supprimer:

C:\Documents et paramètres\ % Votre Nom D'utilisateur%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat "

3
répondu BobbyShaftoe 2008-12-08 14:18:42

Dans XP, le .mru.le fichier dat est dans C:\Documents et paramètres\Name\Application Data\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM

cependant, l'enlever ne fera rien.

pour supprimer la liste dans XP, couper le fichier bin sqlstudio de C:\Documents et paramètres\Name\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell et le coller sur votre bureau.

Try SQL

si elle a fonctionné, puis supprimez le fichier sqlstudio bin à partir du bureau.

Facile :)

2
répondu Dave 2010-05-28 09:56:10