programing

SQL Server Management Studio에서 기억된 로그인 및 암호 목록 제거

yoursource 2023. 4. 7. 22:30
반응형

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숨김 폴더입니다.탐색기에서 숨겨진 폴더를 표시해야 합니다.

편집: [Server](서버) / [User Name](사용자명) 드롭다운에서 [Delete](삭제)를 누르기만 하면 됩니다(SSMS v18.0에서 동작하고 있는 것을 확인).이 기능은 2012년부터 사용할 수 있다고 언급한 https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds-049/의 원본 소스입니다.

이는 SQL Server Management Studio v18.0에서 작동합니다.

"SqlStudio.bin" 파일은 더 이상 존재하지 않는 것 같습니다.대신 모든 설정이 다음 파일에 저장됩니다.

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

  • 메모장++와 같은 Texteditor에서 열기
  • 삭제할 사용자 이름 ctrl+f
  • 다 해 주세요.<Element>.......</Element>블록이 그 주위를 둘러싸고 있다.

편집: v18.0(미리보기 7)을 위한 보다 쉽고 효과적인 솔루션은 다음과 같습니다.

  • "서버에 연결" 대화창으로 이동합니다.

    여기에 이미지 설명 입력

  • 스크린샷에서 녹색으로 표시된 아래쪽 화살표 아이콘을 클릭합니다.

  • 키보드의 화살표 키를 사용하여 위/아래로 이동합니다.

  • 키보드의 DEL 키를 눌러 엔트리를 삭제합니다.

  • 대화창을 닫으면 다시 열면 엔트리가 삭제됩니다.

SSMS 2012 솔루션을 찾고 계신 분께는...다음 답변을 참조하십시오.

캐시된 로그인 2012 제거

기본적으로 2012년에는 서버 목록 드롭다운에서 서버를 삭제할 수 있습니다. 이 드롭다운에서는 해당 서버의 캐시된 로그인이 모두 지워집니다.

v17(빌드 14.x)에서도 동작합니다.

이 시나리오에서는 특정 사용자 이름/비밀번호만 목록에서 삭제하려고 했습니다.이들 사용자 이름/비밀번호는 잊어버리고 싶지 않은 다른 많은 접속이 저장되어 있습니다. 보니 '아주머니'가SqlStudio.bin다른 사용자가 여기서 논의하고 있는 파일은 입니다.「NET」의 바이너리 Microsoft.SqlServer.Management.UserSettings.SqlStudio클래스: 특정 설정을 수정하기 위해 역직렬화, 수정 및 재직렬화할 수 있습니다.

C을 했습니다.C#을 작성했습니다. 4 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의 최신 버전을 사용하여 이를 수행하는 매우 간단한 방법이 있습니다(저는 18.4를 사용하고 있습니다).

  1. "서버에 연결" 대화상자를 엽니다.
  2. [ Server Name ]드롭다운을 클릭하여
  3. 키보드의 아래쪽 화살표를 눌러 서버 이름을 강조 표시합니다.
  4. 키보드에서 삭제를 누릅니다.

로그인이 사라졌습니다!dll 파일이나 bin 파일을 만지작거리지 마세요.

버전 18 이상에서 사용되는 XML 파일에서 노드 "Element" 전체("Connections" 트리 내)를 삭제합니다.

C:\사용자\%사용자명%\앱 데이터\로밍\Microsoft\SQL Server Management Studio\18.0\UserSettings.xml

여기에 이미지 설명 입력

글루크가 지적했듯이, 더 이상SqlStudio.binMicrosoft SQL Server Management Studio 18에서 확인할 수 있습니다.이것도 찾았어UserSettings.xmlC:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0단, ., . 、 [ ]<Element>한 credential이 하지 않는것 열면 파일로 바로 .

알고 보니 SQL Server Management Studio를 먼저 닫은 후UserSettings.xml비주얼 스튜디오 코드"xml" "SSMS" "XML?"그리고 켜지지도 않고Control Panel\All Control Panel Items\Credential Manager\Windows Credentials.

SQL Server Management Studio 2008의 경우

  1. C:로 이동해야 합니다.\문서 및 설정\%username%\응용 프로그램 데이터\Microsoft\Microsoft SQL Server\100\Tools\

  2. Sql Studio를 삭제합니다.휴지통

삭제:

C:\문서 및 설정\%사용자명%\응용 프로그램 데이터\Microsoft\Microsoft SQL Server\90\툴\Shell\mru.dat"

XP의 경우 .mru.dat 파일은 C:에 있습니다.\문서 및 설정\이름\응용 프로그램 데이터\Microsoft\Microsoft SQL Server\90\도구\ShellSEM

하지만, 그것을 제거하는 것은 아무 소용이 없습니다.

XP에서 목록을 삭제하려면 C:에서 sqlstudio bin 파일을 잘라냅니다.\문서 및 설정\이름\응용 프로그램 데이터\Microsoft\Microsoft SQL Server\100\Tools\바탕화면에 셸 및 페이스트합니다.

SQL을 시험

정상적으로 동작했을 경우는, 데스크탑으로부터 sqlstudio bin 파일을 삭제합니다.

간단 :)

Login 드롭다운 화살표를 선택합니다.목록에서 사용자 삭제

언급URL : https://stackoverflow.com/questions/349668/removing-the-remembered-login-and-password-list-in-sql-server-management-studio

반응형