web-dev-qa-db-ja.com

SQL Server Management Studioで記憶されているログインとパスワードのリストを削除する

私が最近修理を行っている間に、私たちの会社の予備のラップトップ(一般ユーザーがセットアップされている)を使用しました。データベースにログインするときに、SQL Server Management Studioの[パスワードを保存する]オプションをチェックしました。

ラップトップを使用する次の人がログイン名とパスワードを使用するのを防ぐために、使用したログイン情報とパスワード情報を消去する必要があります。これどうやってするの?

221
Elanie Meyer

ここでの別の回答では、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は隠しフォルダーです。エクスプローラーで隠しフォルダーを表示する必要があります。

編集:サーバー/ユーザー名ドロップダウンから削除ボタンを押すだけです(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年以降、この機能が利用可能になると述べました!

311
Robin Luiten

SSMS 2012ソリューションをお探しの方は、こちらの回答をご覧ください。

キャッシュされたログイン2012を削除する

基本的に、2012年にサーバーリストのドロップダウンからサーバーを削除すると、そのサーバーのすべてのキャッシュログインがクリアされます。

V17(ビルド14.x)でも動作します。

34
Edyn

私のシナリオでは、リストから特定のユーザー名/パスワードを削除したかっただけで、他の多くの接続は忘れたくありませんでした。他の人がここで議論している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);
        }
    }
}
25
Neil

SQL Server Management Studio 2008の場合

  1. 行く必要がありますC:\ Documents and Settings \%username%\ Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell

  2. 削除SqlStudio.bin

4
Chicharito

削除:

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

3
BobbyShaftoe

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ファイルを削除します。

簡単:)

2
Dave

これは、SQL Server Management Studio v18.0で機能します。

ファイル「SqlStudio.bin」はもう存在しないようです。代わりに、私の設定はすべてこのファイルに保存されます。

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

  • Notepad ++などの任意のTexteditorで開きます
  • 削除するユーザー名の場合はctrl + f
  • 次に、それを囲む<Element>.......</Element>ブロック全体を削除します。
2
gluecks

接着剤が指摘したように、Microsoft SQL Server Management Studio 18SqlStudio.binはもうありません。 UserSettings.xmlにもこのC:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0が見つかりました。しかし、資格情報を含む<Element>を削除しても機能しないようです。再度閉じて再度開くと、xmlファイルに戻ります。

判明したのは、最初にSQL Server Management Studioを閉じるが必要です。次に、お気に入りのエディターでUserSettings.xmlファイルを編集します。 Visual Studioコード。このxmlファイル以外にSSMSのどこかにキャッシュされていると思います!? Control Panel\All Control Panel Items\Credential Manager\Windows Credentialsにはありません。

1
Weihui Guo