[sql-server] 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 년부터 제공됩니다!


답변

SSMS 2012 솔루션을 찾는 사람들은 다음 답변을 참조하십시오.

캐시 된 로그인 제거 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 v18.0에서 작동합니다.

“SqlStudio.bin”파일이 더 이상 존재하지 않는 것 같습니다. 대신 내 설정이 모두이 파일에 저장됩니다.

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

  • 메모장과 같은 텍스트 편집기에서 열기 ++
  • 사용자 이름을 제거하려면 ctrl + f
  • 그런 다음 <Element>.......</Element>주변 의 전체 블록 을 삭제하십시오 .

답변

최신 버전의 SQL Server Management Studio를 사용 하여이 작업을 수행하는 간단한 방법이 있습니다 (18.4를 사용하고 있습니다)

  1. “서버에 연결”대화창을 연다
  2. “서버 이름”드롭 다운을 클릭하여 엽니 다.
  3. 키보드에서 아래쪽 화살표를 눌러 서버 이름을 강조 표시하십시오.
  4. 키보드에서 Delete 키를 누릅니다

로그인이 사라졌습니다! dll 또는 bin 파일을 망칠 필요가 없습니다.


답변

gluecks는 더 이상 지적 SqlStudio.bin마이크로 소프트 SQL Server 관리 Studio (18) . 나는 또한 이것을 발견 UserSettings.xml했다 C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. 그러나 <Element>자격 증명을 포함하는 제거가 작동하지 않는 것 같습니다. XML 파일을 닫았다가 다시 열면 다시 xml 파일로 돌아옵니다.

알고 보니, 당신이해야 할 첫 번째 SQL Server Management Studio를 닫 편집 후, UserSettings.xml예를 들어, 여러분이 좋아하는 편집기, 비주얼 스튜디오 코드에서 파일을. 이 XML 파일 외에 SSMS 어딘가에 캐시 된 것 같습니다! 그리고 그것은 아닙니다 Control Panel\All Control Panel Items\Credential Manager\Windows Credentials.


답변

SQL Server Management Studio 2008의 경우

  1. 당신은 갈 필요가 C를 : \ 문서 및 설정 \ % 사용자 이름 % \ 응용 프로그램 데이터 \ 마이크로 소프트 \ Microsoft SQL Server를 \ 100 개 \ 도구 \ 셸을

  2. SqlStudio.bin 삭제