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

StackOverflow https://stackoverflow.com/questions/349668

Question

J'ai récemment utilisé l'ordinateur portable de rechange de notre société (avec un utilisateur général configuré) pendant la réparation du mien. J'ai vérifié l'option & "Mémoriser le mot de passe &"; option 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 cela?

Pas de solution correcte

Autres conseils

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 supprime le fichier C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server Management Studio 2016 supprime 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 supprimez le fichier & # 8211; idem que ci-dessus mais le chemin de 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.

EDIT:

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

EDIT: Vous pouvez simplement appuyer sur supprimer dans la liste déroulante Serveur / Nom d'utilisateur (confirmé pour fonctionner pour SSMS v18.0). La source originale de https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds -049 / indiquant que cette fonctionnalité est disponible depuis 2012!

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

Supprimer la connexion en cache 2012

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

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

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 SqlStudio.bin fichier discuté 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 noms situé dans la dll suivante: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll (votre chemin peut légèrement différer en fonction de SSMS version)

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

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

Pour SQL Server Management Studio 2008

  1. Vous devez aller C: \ Documents and Settings \% username% \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell

  2. Supprimez SqlStudio.bin

Supprimer:

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

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

Cependant, le retirer ne fera rien.

Pour supprimer la liste dans 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:)

Ceci 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 bloc <Element>.......</Element> qui l’entoure.

Comme l’ont souligné Gluecks, il n’y en a plus SqlStudio.bin dans Microsoft SQL Server Management Studio 18 . J'ai aussi trouvé cela UserSettings.xml dans C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. Mais supprimer le <Element> contenant les informations d'identification ne semble pas fonctionner, il revient immédiatement sur le fichier xml, si je le ferme et le rouvre à nouveau.

En fin de compte, vous devez d'abord fermer SQL Server Management Studio , puis modifier le fichier Control Panel\All Control Panel Items\Credential Manager\Windows Credentials 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 <=>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top