Sql server 删除SQL Server Management Studio中记住的登录名和密码列表

Sql server 删除SQL Server Management Studio中记住的登录名和密码列表,sql-server,security,login,ssms,Sql Server,Security,Login,Ssms,我最近在修理我的笔记本电脑时使用了我们公司的备用笔记本电脑(有一个普通用户设置)。登录数据库时,我在SQLServerManagementStudio中选中了“记住密码”选项 我需要清除我用来阻止下一个使用笔记本电脑的人使用我的登录名和密码的登录名和密码信息。我如何才能做到这一点?删除: C:\Documents and Settings\%Your Username%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\

我最近在修理我的笔记本电脑时使用了我们公司的备用笔记本电脑(有一个普通用户设置)。登录数据库时,我在SQLServerManagementStudio中选中了“记住密码”选项

我需要清除我用来阻止下一个使用笔记本电脑的人使用我的登录名和密码的登录名和密码信息。我如何才能做到这一点?

删除:


C:\Documents and Settings\%Your Username%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat“

这里的另一个答案还提到,自2012年起,您可以通过删除缓存的登录名。刚刚确认,在2016年和2017年,mru列表中的删除工作正常

SQL Server Management Studio2017删除该文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server Management Studio2016删除该文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server Management Studio2014删除该文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server Management Studio2012删除该文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server Management Studio2008删除文件
C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server Management Studio2005删除该文件–与上面的回答相同,但删除Vista路径。
C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

这些是Vista/7/8的配置文件路径

编辑:

注意,
AppData
是一个隐藏文件夹。您需要在资源管理器中显示隐藏文件夹

编辑:
您只需从“服务器/用户名”下拉列表中按delete键即可(确认为适用于SSMS v18.0)。原始来源提到此功能自2012年起可用!

在XP中,.mru.dat文件位于C:\Documents and Settings\name\Application Data\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM中

但是,删除它不会起任何作用

要删除XP中的列表,请从C:\Documents and Settings\Name\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell中剪切sqlstudio bin文件,并将其粘贴到桌面上

试试SQL

如果成功,则从桌面删除sqlstudio bin文件


简单:)

对于那些寻找SSMS 2012解决方案的人……请参见以下答案:

本质上,在2012年,您可以从服务器列表下拉列表中删除该服务器,该下拉列表将清除该服务器的所有缓存登录


也适用于v17(build 14.x)。

适用于SQL Server Management Studio 2008

  • 您需要转到C:\Documents and Settings\%username%\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell

  • 删除SqlStudio.bin


  • 在我的场景中,我只想从列表中删除一个特定的用户名/密码,该列表中保存了许多我不想忘记的连接。结果是,其他人在这里讨论的
    SqlStudio.bin
    文件是
    Microsoft.SqlServer.Management.UserSettings.SqlStudio
    类的.NET二进制序列化,可以反序列化、修改和重新序列化以修改特定设置

    为了完成特定登录的删除,我创建了一个新的C#.Net 4.6.1控制台应用程序,并添加了对位于以下dll中的命名空间的引用:
    C:\Program Files(x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll
    (根据SSMS版本,您的路径可能略有不同)

    从那里,我可以根据需要轻松创建和修改设置:

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

    这适用于SQL Server Management Studio v18.0

    “SqlStudio.bin”文件似乎不再存在。相反,我的设置都存储在此文件中:

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

    • 在任何文本编辑器(如记事本+)中打开它
    • ctrl+f以获取要删除的用户名
    • 然后删除整个
      块 围绕着它

    正如gluecks指出的,在Microsoft SQL Server Management Studio 18中不再有
    SqlStudio.bin
    。我还在
    C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0
    中找到了这个
    UserSettings.xml
    。但是删除包含凭据的
    似乎不起作用,如果我关闭并再次打开xml文件,它会立即返回xml文件


    事实证明,您需要先关闭SQL Server Management Studio,然后在您最喜欢的编辑器中编辑
    UserSettings.xml
    文件,例如Visual Studio代码。我猜它除了这个xml文件之外,还缓存在SSMS的某个地方?!而且它不在
    控制面板\All Control Panel Items\Credential Manager\Windows Credentials上

    使用最新版本的SQL Server Management Studio(我使用的是18.4),有一种非常简单的方法可以做到这一点

  • 打开“连接到服务器”对话框
  • 单击“服务器名称”下拉列表,使其打开
  • 按键盘上的向下箭头以突出显示服务器名称
  • 按键盘上的delete键
  • 登录消失!不要乱动DLL或bin文件。

    从XML文件中删除整个节点“元素”(在“连接”树中),由版本18或更高版本使用

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