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?
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!
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).
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);
}
}
}
Pour SQL Server Management Studio 2008
Vous devez y aller C:\Documents and Settings \% nom d'utilisateur%\Application Data\Microsoft\Serveur SQL Microsoft\100\Tools\Shell
Supprimer SqlStudio.bin
Effacer:
C:\Documents and Settings \% votre nom d'utilisateur%\Application Data\Microsoft\Microsoft SQL Server\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, 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 :)
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
<Element>.......</Element>
bloc qui l’entoure.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
.