Eliminar la lista de inicio de sesión y contraseña recordada en SQL Server Management Studio

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

Pregunta

Recientemente utilicé la computadora portátil de repuesto de nuestra compañía (que tiene un usuario general configurado) mientras se reparaba la mía. He comprobado el & Quot; Recordar contraseña & Quot; opción en SQL Server Management Studio al iniciar sesión en la base de datos.

Necesito borrar la información de inicio de sesión y contraseña que he usado para evitar que la próxima persona que usará la computadora portátil use mis nombres de usuario y contraseñas. ¿Cómo puedo hacer esto?

No hay solución correcta

Otros consejos

Otra respuesta aquí también menciona que desde 2012 puede eliminar Eliminar inicio de sesión en caché a través de ¿Cómo eliminar nombres de servidores en caché del cuadro de diálogo Connect to Server? . Acabo de confirmar que esta eliminación en la lista MRU funciona bien en 2016 y 2017.

SQL Server Management Studio 2017 elimine el archivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

SQL Server Management Studio 2016 elimine el archivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

SQL Server Management Studio 2014 elimine el archivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

SQL Server Management Studio 2012 elimine el archivo C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

SQL Server Management Studio 2008 elimine el archivo C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

SQL Server Management Studio 2005 elimine el archivo & # 8211; igual que la respuesta anterior pero la ruta de Vista. C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

Estas son rutas de perfil para Vista / 7 / 8.

EDITAR:

Nota, AppData es una carpeta oculta. Debe mostrar carpetas ocultas en el explorador.

EDITAR: Simplemente puede presionar Eliminar en el menú desplegable Nombre de usuario / servidor (confirmado que funciona para SSMS v18.0). Fuente original de https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds -049 / que mencionó que esta función está disponible desde 2012!

Para aquellos que buscan la solución SSMS 2012 ... vea esta respuesta:

Eliminar inicio de sesión en caché 2012

Esencialmente, en 2012 puede eliminar el servidor del menú desplegable de la lista de servidores que borra todos los inicios de sesión en caché para ese servidor.

Funciona también en v17 (compilación 14.x).

En mi caso, solo quería eliminar un nombre de usuario / contraseña específicos de la lista que tenía muchas otras conexiones guardadas que no quería olvidar. Resulta que el archivo SqlStudio.bin que otros están discutiendo aquí es una serialización binaria .NET de la clase Microsoft.SqlServer.Management.UserSettings.SqlStudio, que puede ser deserializada, modificada y reserializada para modificar configuraciones específicas.

Para lograr la eliminación del inicio de sesión específico, creé una nueva aplicación de consola C # .Net 4.6.1 y agregué una referencia al espacio de nombres que se encuentra en el siguiente archivo DLL: C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.UserSettings.dll (su ruta puede diferir ligeramente dependiendo del SSMS versión)

A partir de ahí, podría crear y modificar fácilmente la configuración que desee:

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);
        }
    }
}

Para SQL Server Management Studio 2008

  1. Debe ir a C: \ Documents and Settings \% username% \ Application Datos \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell

  2. Eliminar SqlStudio.bin

Eliminar:

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

En XP, el archivo .mru.dat está en C: \ Documents and Settings \ Name \ Application Data \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ ShellSEM

Sin embargo, eliminarlo no hará nada.

Para eliminar la lista en XP, corte el archivo bin de sqlstudio de C: \ Documents and Settings \ Name \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell y péguelo en su escritorio.

Pruebe SQL

Si ha funcionado, elimine el archivo bin de sqlstudio del escritorio.

Fácil :)

Esto funciona para SQL Server Management Studio v18.0

El archivo " SqlStudio.bin " Parece que ya no existe. En cambio, mi configuración está almacenada en este archivo:

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

  • Ábralo en cualquier editor de texto como Notepad ++
  • ctrl + f para eliminar el nombre de usuario
  • luego elimine todo el bloque <Element>.......</Element> que lo rodea.

Como señalaron los pegamentos, no más SqlStudio.bin en Microsoft SQL Server Management Studio 18 . También encontré esto UserSettings.xml en C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0. Pero eliminar el <Element> que contiene la credencial parece no funcionar, vuelve directamente al archivo xml, si lo cierro y lo vuelvo a abrir.

Resulta que primero debe cerrar SQL Server Management Studio y luego editar el archivo Control Panel\All Control Panel Items\Credential Manager\Windows Credentials en su editor favorito, p. Visual Studio Code. ¿Supongo que está en caché en algún lugar de SSMS además de este archivo xml? Y no está en <=>.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top