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

StackOverflow https://stackoverflow.com/questions/349668

質問

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

次にラップトップを使用する人が私のログイン名とパスワードを使用できないようにするために、使用したログイン名とパスワードの情報をクリアする必要があります。これどうやってするの?

正しい解決策はありません

他のヒント

ここの別の回答では、2012 年以降、キャッシュされたログインを削除できることにも言及しています。 [サーバーに接続] ダイアログからキャッシュされたサーバー名を削除するにはどうすればよいですか?. 。MRU リストのこの削除が 2016 と 2017 で正常に機能することを確認しました。

SQL Server 管理スタジオ 2017 ファイルを削除するC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server 管理スタジオ 2016 ファイルを削除するC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server 管理スタジオ 2014 ファイルを削除するC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server 管理スタジオ 2012 ファイルを削除するC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server 管理スタジオ 2008 ファイルを削除する C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server 管理スタジオ 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 年から利用可能であると記載されています。

SSMS 2012ソリューションをお探しの方に...この回答を参照してください。

<のhref = "https://stackoverflow.com/questions/10993861/how-to-remove-cached-login-from-the-connect-to-server-dialog-in-sql-server-2012" >キャッシュされたログイン2012 に削除

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

は(14.xの構築)V17でも動作します。

私のシナリオでは、私は唯一の私が忘れたくなかった他の多くの保存された接続を持っていたリストから特定のユーザ名/パスワードを削除したいです。これは、デシリアライズさ変更や特定の設定を変更するために再直列化することができSqlStudio.binクラスの.NETバイナリシリアルですMicrosoft.SqlServer.Management.UserSettings.SqlStudioファイル他の人がここで議論されているが判明します。

特定のログインの除去を達成するために、私は新しい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 Studio2008

  1. として安心してご利用いただけ C:\Documents and Settings\%ユーザ名%\用 データ\Microsoft\Microsoft SQLサーバー\100\ツール\シェル

  2. 削除 SqlStudio.bin

削除します:

C:\ DocumentsとSettings \%あなたのユーザー名%\アプリケーションデータ\マイクロソフト\ Microsoft SQL Serverの\ 90の\ツール\シェル\のmru.dat "

XPで、.mru.datファイルはC:\ DocumentsとSettings \名\アプリケーションデータ\マイクロソフト\ Microsoft SQL Serverの\ 90 \ツール\ ShellSEM

しかし、それは何もしません取り外します。

、XPでリストを削除Cからsqlstudio binファイルカットするには:\ DocumentsとSettings \名\アプリケーションデータ\マイクロソフト\ Microsoft SQL Serverの\ 100 \ツール\シェルとデスクトップ上に貼り付け

SQLを試してみてください。

それが働いている場合は、

、その後、デスクトップからsqlstudio binファイルを削除します。

簡単に:)

この作品のためのSQL Server Management Studio v18.0

ファイル"SqlStudio.bin"があるようには見えませんが存在し縮したものになっています。代わりに私の設定は保存されるこのファイル:

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

  • 開放でTexteditorのようにNotepad++
  • ctrl+fにユーザネームを削除する
  • それ自体を削除する <Element>.......</Element> ブロック 囲です。

としてgluecks指摘となりますので、あ SqlStudio.binMicrosoft SQLサーバーのエリアマネジメント18.またこの UserSettings.xmlC:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0.ものを取り除く <Element> を含むの資格をされていないように見え、で右のxmlファイルが閉じて再開することができます。

が必要 あり、まさにSQLサーバーエリアマネジメントの最初, その編集 UserSettings.xml ファイルをお好みのエディタ、Visual Studioのコードです。うことなんでしょうけれどキャッシュのどこかにSSMSもこのxmlファイルの?!となに Control Panel\All Control Panel Items\Credential Manager\Windows Credentials.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top