अन्यथा किसी अच्छे लेख में समस्या निवारण: SQL सर्वर से कनेक्ट करना जब सिस्टम प्रशासक लॉक आउट हो जाते हैं , तो लेखक हमें बताता है कि हमें अपने SQL सर्वर के नियंत्रण को पुनः प्राप्त करने के लिए क्या करना है
"-M या -f विकल्पों का उपयोग करके एकल-उपयोगकर्ता मोड में SQL सर्वर का उदाहरण प्रारंभ करें। कंप्यूटर के स्थानीय व्यवस्थापक समूह का कोई भी सदस्य तब sysadmin निश्चित सर्वर भूमिका के सदस्य के रूप में SQL सर्वर के उदाहरण से जुड़ सकता है। "
दुर्भाग्य से, एकल-उपयोगकर्ता मोड में शुरू करने का क्या मतलब है, यह सहज बात नहीं है। इसके अलावा, कम से कम मेरे अनुभव में, मेरे कंप्यूटर के स्थानीय प्रशासक के समूह में सदस्यता ने मेरे "उपयोगकर्ता" खाते को sysadmin का दर्जा नहीं दिया।
जब एक गैर-डीसी सर्वर (ISP को बदलने का एक परिणाम) द्वारा मेरे डोमेन में सदस्यता की समस्या का समाधान करने के लिए यह कहानी शुरू हुई थी, तो मैंने 2008 से डीसी को विंडोज सर्वर 2008 R2 में फिर से बनाया। यह एक छोटी सी छोटी समस्याओं को हल करता है लेकिन संबोधित नहीं किया गलत सर्वर द्वारा सदस्यता का सवाल। इसे पूरा करने के लिए सर्वरफॉल्ट में सुझाए गए एक फिक्स को लिया गया है (मेरे मामले में, यह विनसॉक और टीसीपी को रीसेट करने का मामला था)।
SQL सर्वर 2008 उस दूसरे सर्वर पर रहता है, जो अब डोमेन का सदस्य है। यहाँ समस्या है। जैसा कि कोई सर्वरफ़ॉल्ट पर इंगित करता है, सर्वर 2008 को स्थापित करते समय "वर्तमान उपयोगकर्ता को sysadmin के रूप में जाने दें" को धक्का देना आम है। सामान्य किसी और पर विचार नहीं करने के लिए भी। क्योंकि वह एकल उपयोगकर्ता पहचान एक डोमेन का एक डोमेन सदस्य था जो अब अस्तित्व में नहीं है, किसी को Sql सर्वर को प्रशासित करने की अनुमति नहीं थी।
मैंने उस स्थानीय सर्वर व्यवस्थापक के रूप में लॉग ऑन किया था जो Sql Server स्थापित होने के आसपास रहा था, लेकिन यद्यपि इसने मुझे प्रबंधन स्टूडियो तक पहुंचने की अनुमति दी, मुझे जल्दी से पता चला कि BUILTIN \ एडमिनिस्ट्रेटर की केवल "सार्वजनिक" सर्वर भूमिका थी।
बहुत शोध और प्रयोग के बाद, मैं एक लेख पर हुआ, जो एकल-उपयोगकर्ता लॉगऑन http://technet.microsoft.com/en-us/library/ms180965.aspx का विवरण देता है :
C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn
C:\...>sqlservr.exe -m
इस चरण को लेने के लिए तैयार करने के लिए, आपको Sql Server (जो कि ज्यादातर मामलों में डिफ़ॉल्ट रूप से चलता है) को बंद करना होगा। "Sql Server" को रोकने के लिए SQL कॉन्फ़िगरेशन प्रबंधक का उपयोग करें।
फिर, कमांड प्रॉम्प्ट में, उस प्रोग्राम फ़ाइल स्थान (या आपकी मशीन पर समकक्ष) पर नेविगेट करें, और "sqlservr.exe -m" कमांड जारी करें। यदि आपको अपने कमांड प्रॉम्प्ट में लॉग इन की गई गतिविधि दिखाई देती है, तो आप सफल हो रहे हैं। यदि यह शुरू करने में विफल रहता है, तो संभवतः आपके पास पहले से ही SQL सर्वर चल रहा है। बंद कर दो।
एकल-उपयोगकर्ता उदाहरण को उसके डेटाबेस को संलग्न करने की अनुमति दें। जब लॉग गतिविधि बंद हो गई है, तो प्रबंधन स्टूडियो खोलें। आप स्वचालित रूप से एकल-उपयोगकर्ता मोड में होंगे, और इसलिए आप जो भी खाते का प्रतिनिधित्व करते हैं वह एक sysadmin होगा। सुरक्षा लॉगिन और सर्वर भूमिकाओं को समायोजित करने के लिए उस शक्ति का उपयोग करें।
मेरे मामले में, मुझे नए डोमेन में डोमेन खातों को फिर से बनाना था, फिर SQL सर्वर में उनके नाम हटाएं, और उन्हें फिर से संगठित करें (SID / GUID स्थिति के कारण), विशेष डेटाबेस के लिए आवश्यक के रूप में अनुमतियों को पुन: असाइन करना।