إزالة قائمة تسجيل الدخول وكلمة المرور التي تم تذكرها في SQL Server Management Studio

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

سؤال

لقد استخدمت مؤخرًا الكمبيوتر المحمول الاحتياطي الخاص بشركتنا (الذي يحتوي على إعداد مستخدم عام) أثناء إصلاح جهازي.لقد حددت خيار "تذكر كلمة المرور" في SQL Server Management Studio عند تسجيل الدخول إلى قاعدة البيانات.

أحتاج إلى مسح معلومات تسجيل الدخول وكلمة المرور التي استخدمتها لمنع الشخص التالي الذي سيستخدم الكمبيوتر المحمول من استخدام أسماء تسجيل الدخول وكلمات المرور الخاصة بي.كيف يمكنني أن أفعل هذا؟

لا يوجد حل صحيح

نصائح أخرى

تشير إجابة أخرى هنا أيضًا إلى أنه منذ عام 2012 يمكنك إزالة إزالة تسجيل الدخول المخزن مؤقتًا عبر كيفية إزالة أسماء الخادم المخزنة مؤقتًا من مربع حوار الاتصال بالخادم؟.تم التأكيد للتو على أن هذا الحذف في قائمة MRU يعمل بشكل جيد في عامي 2016 و2017.

ستوديو إدارة خادم SQL 2017 احذف الملفC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0\SqlStudio.bin

ستوديو إدارة خادم SQL 2016 احذف الملفC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\13.0\SqlStudio.bin

ستوديو إدارة خادم SQL 2014 احذف الملفC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

ستوديو إدارة خادم SQL 2012 احذف الملفC:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

ستوديو إدارة خادم SQL 2008 احذف الملف C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

ستوديو إدارة خادم SQL 2005 احذف الملف - نفس الإجابة أعلاه ولكن مسار نظام التشغيل Vista.C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

هذه هي مسارات الملفات الشخصية لنظام التشغيل Vista / 7 / 8.

يحرر:

ملحوظة، AppData هو مجلد مخفي.تحتاج إلى إظهار المجلدات المخفية في Explorer.

يحرر:يمكنك ببساطة الضغط على "حذف" من القائمة المنسدلة اسم الخادم/المستخدم (تم التأكد من أنه يعمل مع SSMS v18.0).المصدر الأصلي من https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-thans-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 يمكنك حذف الملقم من القائمة المنسدلة الخادم الذي يزيل كل تسجيل الدخول مؤقتا لذلك الملقم.

ويعمل أيضا في V17 (بناء 14.x).

في السيناريو بلدي أردت فقط لإزالة اسم المستخدم محددة / كلمة السر من القائمة التي كان العديد من الاتصالات الأخرى المحفوظة لم أكن أريد أن أنسى. اتضح الملف SqlStudio.bin آخرون يناقشون هنا هو التسلسل ثنائي .NET الطبقة Microsoft.SqlServer.Management.UserSettings.SqlStudio، والتي يمكن إلغاء تسلسل أو تعديل وreserialized لتعديل إعدادات محددة.

لتحقيق إزالة من تسجيل الدخول معين، أنا خلق C # .NET 4.6.1 تطبيق جديد وحدة التحكم وأضاف في إشارة إلى مساحة الاسم الذي يقع في دلل التالية: 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 2008

  1. عليك أن تذهب C: المستندات والإعدادات ٪ اسم المستخدم ٪ بيانات التطبيق Microsoft Microsoft SQL Server 100 tools shell

  2. يمسح SqlStudio.bin

وحذف:

وC: \ الوثائق وإعدادات \٪ اسم المستخدم الخاص بك٪ \ بيانات التطبيق \ مايكروسوفت \ مايكروسوفت SQL SERVER \ 90 \ أدوات \ شل \ mru.dat "

في XP، ملف .mru.dat في C: \ الوثائق وإعدادات \ اسم \ بيانات التطبيق \ مايكروسوفت \ مايكروسوفت SQL SERVER \ 90 \ أدوات \ ShellSEM

ومع ذلك، إزالة أنها لن تفعل أي شيء.

لإزالة القائمة في XP، وقطع ملف sqlstudio بن من C: \ الوثائق وإعدادات \ اسم \ بيانات التطبيق \ مايكروسوفت \ مايكروسوفت SQL خادم \ 100 \ أدوات \ شل ولصقه على سطح المكتب

.

وحاول SQL

إذا عملت ذلك، ثم حذف ملف بن sqlstudio من سطح المكتب.

وسهلة:)

يعمل هذا مع SQL Server Management Studio v18.0

يبدو أن الملف "SqlStudio.bin" لم يعد موجودًا.بدلاً من ذلك، يتم تخزين جميع إعداداتي في هذا الملف:

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

  • افتحه في أي محرر نصوص مثل Notepad++
  • ctrl+f لإزالة اسم المستخدم
  • ثم احذف كاملا <Element>.......</Element> كتلة التي تحيط بها.

وكما أشار غلوكس، لا أكثر SqlStudio.bin في مايكروسوفت SQL خادم إدارة ستوديو 18.لقد وجدت هذا أيضا UserSettings.xml في C:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0.ولكن إزالة <Element> يبدو أن المحتوى الذي يحتوي على بيانات الاعتماد لا يعمل، فهو يعود مباشرة إلى ملف xml، إذا أغلقته وأعدت فتحه مرة أخرى.

اتضح أنك بحاجة إلى ذلك أغلق SQL Server Management Studio أولاً, ، ثم قم بتحرير UserSettings.xml الملف في المحرر المفضل لديك، على سبيل المثال.كود الاستوديو المرئي.أعتقد أنه تم تخزينه مؤقتًا في مكان ما في SSMS بجانب ملف xml هذا؟!وانها ليست على Control Panel\All Control Panel Items\Credential Manager\Windows Credentials.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top