我最近在维修我的公司时使用了我们公司的备用笔记本电脑(具有一般用户设置)。登录数据库时,我已经检查了 SQL Server Management Studio 中的“记住密码”选项。
我需要清除我使用的登录名和密码信息,以防止下一个使用笔记本电脑的人使用我的登录名和密码。我怎样才能做到这一点?
我最近在维修我的公司时使用了我们公司的备用笔记本电脑(具有一般用户设置)。登录数据库时,我已经检查了 SQL Server Management Studio 中的“记住密码”选项。
我需要清除我使用的登录名和密码信息,以防止下一个使用笔记本电脑的人使用我的登录名和密码。我怎样才能做到这一点?
此处的另一个答案还提到自 2012 年以来,您可以通过如何从“连接到服务器”对话框中删除缓存的服务器名称来删除删除缓存的登录名?. 刚刚确认 MRU 列表中的此删除在 2016 年和 2017 年工作正常。
SQL Server Management Studio 2017删除文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin
SQL Server Management Studio 2016删除文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin
SQL Server Management Studio 2014删除文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin
SQL Server Management Studio 2012删除文件
C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin
SQL Server Management Studio 2008删除文件 C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
SQL Server Management Studio 2005删除文件 - 与上述答案相同,但 Vista 路径。
C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
这些是 Vista / 7 / 8 的配置文件路径。
编辑:
注意,AppData是隐藏文件夹。您需要在资源管理器中显示隐藏文件夹。
编辑:您可以简单地从服务器/用户名下拉菜单中按删除(确认适用于 SSMS v18.0)。来自https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds-049/的原始来源,其中提到此功能自 2012 年起可用!
这适用于 SQL Server Management Studio v18.0
文件“SqlStudio.bin”似乎不再存在。相反,我的设置都存储在这个文件中:
C:\Users\*********\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml
<Element>.......</Element>然后删除它周围的整个块。编辑: 对于 v18.0(预览版 7),一个更简单且有效的解决方案是:
希望能帮助到你 :-)
对于那些寻找 SSMS 2012 解决方案的人......请参阅此答案:
本质上,在 2012 年,您可以从服务器列表下拉列表中删除该服务器,这会清除该服务器的所有缓存登录。
也适用于 v17(内部版本 14.x)。
在我的场景中,我只想从列表中删除一个特定的用户名/密码,该列表有许多我不想忘记的其他已保存连接。事实证明,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(我使用的是 18.4)有一种非常简单的方法来执行此操作
登录没了!不要乱用 dll 或 bin 文件。
正如 gleckcks 指出的那样,SqlStudio.bin在Microsoft SQL Server Management Studio 18中不再存在。我UserSettings.xml也在C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. 但是删除<Element>包含凭据似乎不起作用,如果我关闭并重新打开它,它会立即返回 xml 文件。
事实证明,您需要先关闭 SQL Server Management Studio,然后UserSettings.xml在您喜欢的编辑器(例如 Visual Studio Code)中编辑文件。我猜它除了这个xml文件之外还缓存在SSMS中的某个地方?!而且它没有打开Control Panel\All Control Panel Items\Credential Manager\Windows Credentials。
对于 SQL Server Management Studio 2008
你需要去C:\Documents and Settings\%username%\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell
删除SqlStudio.bin
删除:
C:\Documents and Settings\%你的用户名%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat"
在 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 文件。
简单的 :)