SQL सर्वर प्रबंधन स्टूडियो में याद की गई लॉगिन और पासवर्ड सूची को हटाना


235

मैंने हाल ही में हमारी कंपनी के स्पेयर लैपटॉप का उपयोग किया है (जिसमें एक सामान्य उपयोगकर्ता सेट अप है) जबकि मेरा मरम्मत किया जा रहा था। मैंने डेटाबेस में लॉग इन करते समय SQL सर्वर प्रबंधन स्टूडियो में "पासवर्ड याद रखें" विकल्प की जाँच की है।

मुझे लॉगिन और पासवर्ड की जानकारी को साफ करने की आवश्यकता है जो मैंने अगले व्यक्ति को रोकने के लिए उपयोग किया है जो लैपटॉप का उपयोग मेरे लॉगिन नाम और पासवर्ड का उपयोग करने से करेगा। मैं यह कैसे कर सकता हूँ?

जवाबों:


334

यहां एक अन्य उत्तर में यह भी उल्लेख किया गया है कि 2012 के बाद आप निकालें कैश्ड लॉगिन को हटा सकते हैं कैश्ड सर्वर नामों को कनेक्ट से सर्वर डायलॉग से कैसे निकालें? । 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 फ़ाइल को हटा दें - उपरोक्त उत्तर के समान लेकिन विस्टा पथ। C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

ये विस्टा / 7/8 के लिए प्रोफाइल पथ हैं।

संपादित करें:

ध्यान दें, AppDataएक छिपा हुआ फ़ोल्डर है। आपको एक्सप्लोरर में छिपे हुए फ़ोल्डर दिखाने की आवश्यकता है।

संपादित करें: आप बस सर्वर / उपयोगकर्ता नाम ड्रॉप डाउन (एसएसएमएस v18.0 के लिए काम करने की पुष्टि की गई) से हटा सकते हैं। मूल स्रोत https://blog.sqlauthority.com/2013/04/17/sql-server-remove-cached-login-from-ssms-connect-dialog-sql-in-sixty-seconds-049/ जो इसमें वर्णित है यह सुविधा 2012 से उपलब्ध है!


39
"% AppData% \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell \ SqlStudio.bin"
abatishchev

8
+1 धन्यवाद! C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.binमुझे हटाने के लिए Win7 में काम किया।
इस्माइल जूल

6
हो सकता है कि यह एक और सवाल हो सकता है, लेकिन मुझे डर है कि यह बंद होने की संभावना है क्योंकि यह बहुत विशिष्ट उत्पाद हो सकता है। लेकिन क्या ऐसी कोई जानकारी है जो उपरोक्त फाइलों में संग्रहीत जानकारी को संपादित करने के लिए है? मैं कुछ सहेजे गए लॉगिन को निकालना चाहूंगा।
विकास

5
SSMS 2012 के लिए % AppData% \ Microsoft \ SQL सर्वर प्रबंधन स्टूडियो \ 11.0 \ SqlStudio.bin
जे ब्रायन मूल्य

3
SQL 2008 R2 के साथ मेरे लिए काम किया। बस सुनिश्चित करें कि ऐसा करने से पहले आपके पास SQL ​​स्टूडियो बंद है या यह फ़ाइल को लगभग तुरंत ही पुनः बनाता है।
काइल हॉन

36

SSMS 2012 समाधान की तलाश करने वालों के लिए ... इस उत्तर को देखें:

कैश्ड लॉगिन 2012 निकालें

अनिवार्य रूप से, 2012 में आप सर्वर को सर्वर सूची ड्रॉपडाउन से हटा सकते हैं जो उस सर्वर के लिए सभी कैश्ड लॉगिन को साफ करता है।

V17 में भी काम करता है (14.x का निर्माण)।


2
2014 उपयोगकर्ताओं को इसका उपयोग करना चाहिए! मैं SSMS 2014 का उपयोग कर रहा हूं, मेरे पास SqlStudio.bin नहीं था (शीर्ष उत्तर देखें), लेकिन मैंने इस उत्तर में लिंक का अनुसरण किया और यह काम किया (और बहुत आसान है)।
यजॉर्ग

3
ध्यान दें कि इस उत्तर में लिंक के शीर्षक के बावजूद, "कैश्ड लॉगिन हटाएं 2012", इसका उत्तर यह लिंक है कि कैश्ड सर्वर का नाम कैसे हटाया जाए , लॉगिन नहीं। मैंने उस लिंक के उत्तर को ध्यान से नहीं पढ़ा था और लॉगिन ड्रॉपडाउन सूची से एक लॉगिन को हटाने की तकनीक की कोशिश कर रहा था। यह काम नहीं करता है। यह केवल तब काम करता है जब आप सर्वर नाम को सर्वर नाम ड्रॉपडाउन सूची से हटा रहे होते हैं। सर्वर नाम को हटाने के साथ ही यह उस सर्वर नाम के लिए सभी कैश्ड लॉगिन को भी हटा देगा; आप केवल एक लॉगिन को नहीं हटा सकते और दूसरों को उस सर्वर के लिए छोड़ सकते हैं।
साइमन टेवेसी

30

मेरे परिदृश्य में मैं केवल उस सूची से एक विशिष्ट उपयोगकर्ता नाम / पासवर्ड को हटाना चाहता था जिसमें कई अन्य सहेजे गए कनेक्शन थे जिन्हें मैं भूलना नहीं चाहता था। यह पता चलता है कि SqlStudio.binअन्य लोग जो यहां चर्चा कर रहे हैं वह Microsoft.SqlServer.Management.UserSettings.SqlStudioवर्ग का .NET बाइनरी क्रमांकन है , जिसे विशिष्ट सेटिंग्स को संशोधित करने के लिए deserialized, संशोधित और reserialized किया जा सकता है।

विशिष्ट लॉगिन को हटाने के लिए, मैंने एक नया 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);
        }
    }
}

2
बहुत बहुत धन्यवाद, एक आकर्षण की तरह काम किया आपने कैसे पता लगाया 1) वह फ़ाइल Microsoft का .NET बाइनरी क्रमांकन है। Selerer.Management.UserSettings.SqlStudio वर्ग और 2) नामस्थान का संदर्भ dll में स्थित है। Microsoft.SqlServer.Management.UserSettings.dll और आपको इसका स्थान कैसे मिला
डॉ। मैनहट्टन

2
@DrManhattan यदि आप द्विआधारी एक बहुत ही सरल .NET क्लास को फाइल और टेक्स्ट एडिटर में खोलने के लिए सीरियल करते हैं तो आपको बाइनरी डेटा और टेक्स्ट का मिश्रण दिखाई देगा। कुछ पाठ आपके तार के मान होंगे (यदि आपके पास कोई वर्ग है जो क्रमबद्ध था)। हालाँकि, फ़ाइल की शुरुआत रूट टाइप के बारे में मेटाडेटा होगी जो कि क्रमबद्ध थी और यह विधानसभा से आई थी। अपनी SqlStudio.binफ़ाइल खोलें और आप दोनों देखेंगे ..UserSettingsऔर ..UserSettings.SqlStudio। वहां से इसे ..UserSettings.dllउसी डायरेक्टरी में ढूंढना आसान था ssms.exe, जिसमें नाम स्थान और वर्ग शामिल थे।
नील

यह बहुत बढ़िया है, धन्यवाद। मैंने मेटाडेटा देखा Microsoft.SqlServer.Management.UserSettings, Version=14.0.0.0, Culture=neutral..., आपने मुझे सिखाया है कि मछली कैसे दी जाती है, धन्यवाद
डॉ। मैनहट्टन

1
मैंने इस कोड को SSMS चलाने के साथ चलाया और फिर यह देखने के लिए जाँच की कि क्या यह SSMS को पुनरारंभ करके काम करता है, और यह काम नहीं करता है, क्योंकि SqlStudio.bin पहले से ही SSMS द्वारा मेमोरी में लोड किया गया था और फिर बंद होने से पहले इसे फिर से लिखा गया था। फिर मैंने SSMS को बंद किया और एक आकर्षण की तरह काम किया।
मुहम्मद ममूर खान

1
विलक्षण समाधान। अच्छी तरह से काम। पूरी तरह से परिणाम के बिना मैं पूरी बिन फ़ाइल को हटाने के बिना प्राप्त करना चाहता था
केव रिले

17

यह SQL सर्वर प्रबंधन स्टूडियो v18.0 के लिए काम करता है

"SqlStudio.bin" फ़ाइल अब मौजूद नहीं है। इसके बजाय मेरी सेटिंग्स इस फ़ाइल में संग्रहीत हैं:

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

  • नोटपैड ++ जैसे किसी भी टेक्स्टेडिटर में इसे खोलें
  • उपयोगकर्ता नाम हटाने के लिए ctrl + f
  • फिर उसके <Element>.......</Element>चारों ओर के पूरे ब्लॉक को हटा दें।

शुक्रिया @gluecks! इतने सारे अन्य पदों का सुझाव sqlstudio.bin फ़ाइल अभी भी v18 के लिए काम करता है लेकिन यह मेरा अनुभव नहीं था। अब अगर मैं केवल यह पता लगा सकता हूं कि हर महीने या दो महीने में usersettings.xml फ़ाइल को क्या मिटा रहा है। मैं अपने सर्वर की सूची को फिर से दर्ज करने के लिए बहुत थक गया हूँ!
पीतांसी

7

SQL सर्वर प्रबंधन स्टूडियो (मैं 18.4 का उपयोग कर रहा हूं) के अधिक हालिया संस्करण का उपयोग करके ऐसा करने का वास्तव में सरल तरीका है

  1. "सर्वर से कनेक्ट करें" संवाद खोलें
  2. "सर्वर नाम" ड्रॉपडाउन पर क्लिक करें ताकि यह खुल जाए
  3. सर्वर नाम पर प्रकाश डालने के लिए अपने कीबोर्ड पर डाउन एरो दबाएं
  4. अपने कीबोर्ड पर डिलीट दबाएं

लॉगिन हो गया! कोई dlls या बिन फ़ाइलों के साथ खिलवाड़ नहीं।


6

जैसा कि बताया गया है कि Microsoft SQL सर्वर प्रबंधन स्टूडियो 18SqlStudio.bin में और अधिक नहीं हैं । मैं भी इस पाया में । लेकिन हटानाUserSettings.xmlC:\Users\userName\AppData\Roaming\Microsoft\SQL Server Management Studio\18.0<Element> क्रेडेंशियल लगता है कि यह काम नहीं कर रहा है, यह xml फ़ाइल पर सही वापस आता है, अगर मैं इसे फिर से बंद करता हूं और फिर से खोलता हूं।

पता चला, आपको पहले SQL सर्वर प्रबंधन स्टूडियो को बंद करने की आवश्यकता है , फिर UserSettings.xmlफ़ाइल को अपने पसंदीदा संपादक, जैसे विज़ुअल स्टूडियो कोड में संपादित करें । मुझे लगता है कि यह इस xml फ़ाइल के अलावा SSMS में कहीं कैश्ड है ?! और यह चालू नहीं है Control Panel\All Control Panel Items\Credential Manager\Windows Credentials


4

SQL सर्वर प्रबंधन स्टूडियो 2008 के लिए

  1. आपको C: \ Documents and Settings \% username% \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools शेल पर जाना होगा

  2. SqlStudio.bin को हटाएं


3

हटाएँ:

C: \ Documents और Settings \% Your Username% \ Application Data \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ Shell \ mZ.dat "


1
मैंने विंडोज 7 के तहत MSSSMS2008E स्थापित किया है और यहां तक ​​कि mru.data को भी नहीं किया है और न ही% AppData% \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell में% LocalAppData% \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell में नहीं। लेकिन रॉबिन Luiten का जवाब दोनों Windows XP और Windows 7 के रूप में के तहत जहाँ तक मैं हमारे विवाद को देखने में मदद करता है अक्सर होती है: tinyurl.com/ybc8x8p
abatishchev

2

XP में, .mru.dat फ़ाइल C: \ Documents and Settings \ Name \ Application Data \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ ShellSEM में है

हालाँकि, इसे हटाने से कुछ नहीं होगा।

XP में सूची निकालने के लिए, C: \ दस्तावेज़ और सेटिंग \ Name \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell से sqlstudio बिन फ़ाइल को काटें और इसे अपने डेस्कटॉप पर पेस्ट करें।

एसक्यूएल का प्रयास करें

अगर यह काम कर गया है, तो डेस्कटॉप से ​​sqlstudio बिन फ़ाइल को हटा दें।

आसान :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.