我最近在维修矿井时使用了我们公司的备用笔记本电脑(已设置了一般用户)。登录数据库时,我已经在SQL Server Management Studio中选中了“记住密码”选项。
我需要清除用于防止下一个将使用笔记本电脑的人使用我的登录名和密码的登录名和密码信息。我怎样才能做到这一点?
我最近在维修矿井时使用了我们公司的备用笔记本电脑(已设置了一般用户)。登录数据库时,我已经在SQL Server Management Studio中选中了“记住密码”选项。
我需要清除用于防止下一个将使用笔记本电脑的人使用我的登录名和密码的登录名和密码信息。我怎样才能做到这一点?
Answers:
自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
是一个隐藏的文件夹。您需要在资源管理器中显示隐藏的文件夹。
编辑:您只需在服务器/用户名下拉列表中按Delete键即可(确认适用于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年起可用!
C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
在Win7中,删除对我有用。
对于那些正在寻找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);
}
}
}
SqlStudio.bin
文件,您将同时看到..UserSettings
和..UserSettings.SqlStudio
。从那里可以轻松找到..UserSettings.dll
与相同的目录ssms.exe
,其中包含名称空间和类。
Microsoft.SqlServer.Management.UserSettings, Version=14.0.0.0, Culture=neutral...
,您已经教我如何钓鱼,谢谢
这适用于SQL Server Management Studio v18.0
文件“ SqlStudio.bin”似乎不再存在。相反,我的设置都存储在此文件中:
C:\Users\*********\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml
<Element>.......</Element>
它周围的整个块。作为gluecks指出,没有更多的SqlStudio.bin
在微软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
。
删除:
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文件。
简单 :)