回答:
ここでの別の回答でも、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年から利用可能です。
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>
を囲むブロック全体を削除します。接着剤が指摘したように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
。
削除:
C:\ Documents and Settings \%Your Username%\ 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ファイルをデスクトップから削除します。
簡単:)