2009-04-18 18 views
5

मैं अपने स्थानीय SQL Server 2008 एक्सप्रेस इंस्टेंस में ग्राफ़िक इंटरफ़ेस के रूप में SQL प्रबंधन स्टूडियो 2008 एक्सप्रेस का उपयोग कर रहा हूं, जिनमें से दोनों मेरे स्थानीय प्रोजेक्ट्स के लिए केवल एक परीक्षण और विकास इंटरफ़ेस के रूप में हैं।SQL सर्वर प्रबंधन स्टूडियो में "व्यवस्थापक अधिकार" कैसे प्राप्त करें?

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

जब मैं डिबगिंग शुरू करने का प्रयास करता हूं तो मुझे एक संदेश से इनकार कर दिया जाता है, और जब मैंने अलग-अलग डेटाबेस में अनुमति नियमों को प्रबंधित करने का प्रयास किया है तो मैंने इसे भी देखा है। मुझे संदेह है कि मैंने सर्वर को स्थापित करते समय चुने गए कुछ विकल्प के साथ कुछ करना है, लेकिन जैसा कि मेरे पास पहले से ही कई डेटाबेस सेट हैं और डेटा से भरे हैं, मेरे पास पूरी चीज को अनइंस्टॉल करने और पुनर्स्थापित करने की कोई इच्छा नहीं है।

क्या कोई उपयोगकर्ता तरीका यह बदलने का कोई तरीका है कि कौन सा उपयोगकर्ता खाता सर्वर उदाहरण का मास्टर व्यवस्थापक है? यदि नहीं, तो उदाहरण के लिए अनुमति अधिकार प्राप्त करने का कोई और तरीका है उदाहरण के लिए मेरे ट्रिगर्स डीबग करें?

उत्तर

5

प्रवेश करें। डिफ़ॉल्ट रूप से, यह MSSQL में एक sysadmin भूमिका होना चाहिए।

SSMS का उपयोग करना, एकीकृत प्रमाणीकरण का उपयोग कर अपने MSSQL उदाहरण के लिए कनेक्ट। अब आप एक सिस्टम प्रशासक हैं। एक sysadmin रूप में, आप अब add your normal user account to the sysadmin role कर सकते हैं:

EXEC sp_addsrvrolemember @loginame = 'PC_OR_DOMAIN\loginname', @rolename = 'sysadmin' 

आप SSPI का उपयोग करते हैं (उर्फ एकीकृत प्रमाणीकरण, उर्फ ​​नहीं एक अलग उपयोगकर्ता नाम और पासवर्ड है जब आप SSMS शुरू) तो बस loginame के रूप में अपने Windows लॉगिन का उपयोग करें। यदि आप एसक्यूएल सर्वर प्रमाणीकरण (उर्फ, उपयोगकर्ता नाम और पासवर्ड) का उपयोग करते हैं तो उपयोगकर्ता नाम को लॉगिन नाम के रूप में उपयोग करें। यदि आप किसी अन्य लॉगिन नाम का उपयोग करते हैं, तो एक खाता भी बनाया जाएगा।

वहाँ निश्चित रूप से जीयूआई भीतर यह करने के लिए एक तरह से है - लेकिन मैं यह काम एटीएम आपको बता कैसे की जरूरत नहीं है। मुझे लगता है कि यह सुरक्षा के तहत है -> लॉग इन -> गुण और विभिन्न सर्वर भूमिकाओं के लिए कुछ चेकबॉक्स।

संपादित करें: Enabling the local admin account on Vista इसके अलावा, अगर आप हैं एक स्थानीय प्रशासक (अपने उपयोगकर्ता खाते के स्थानीय प्रशासक समूह के अंतर्गत सूचीबद्ध है) तो - by default - यदि आप एक सिस्टम प्रशासक हैं। Sysadmin भूमिका (एसक्यूएल) और स्थानीय व्यवस्थापक समूह (Vista) के सदस्यों की जांच करने के लायक हो सकता है।

EDIT2: बाहर कर देता है, एसक्यूएल 2008 does not add BUILTIN\Administators किसी भी अधिक।उस स्थिति में, आपको यह जांचने की आवश्यकता है कि आप जोड़ें। यह लॉग इन नोड के माध्यम से उपलब्ध होना चाहिए। एक नोट है कि यदि आप sysadmin लॉगिन नहीं चुनते हैं तो आप MSSQL व्यवस्थापक के locked out हो सकते हैं। अगर ऐसा है, तो मैं पुनः स्थापित करूंगा। आप MSSQL को रोककर और * .MDF और * .LDF फ़ाइलों को कॉपी करके अपने डेटाबेस को सहेज सकते हैं। पुनर्स्थापित करने के बाद, उन्हें वापस कॉपी करें और उन्हें पुनः जोड़ने के लिए sp_attach_db का उपयोग करें।

+0

मैं स्थानीय व्यवस्थापक के रूप में कैसे लॉग ऑन करूं? मैं विंडोज विस्टा चलाता हूं, और मुझे पता है कि एकमात्र खाता मेरा नियमित उपयोगकर्ता खाता है (एएसएलओएलईजी \ टॉमस, क्योंकि मेरे कंप्यूटर का नाम एएसएसओएलईजी है ...)। मुझे व्यवस्थापक के रूप में सामान चलाने का अधिकार है, लेकिन एसएसएमएस को व्यवस्थापक के रूप में चलाने से चाल नहीं होती है। मैंने ऐसा करने की कोशिश की है कि एसक्यूएल कथन जीयूआई के माध्यम से क्या करना चाहिए, लेकिन मुझे अब तक अनुमति से इनकार कर दिया गया है ... –

+0

आपके संपादन में लिंक के लिए धन्यवाद - हालांकि उन्होंने मेरी समस्या का समाधान नहीं किया, मैंने कुछ और उपयोगी चीजें सीखी । मैं mssql निर्देशिका से db फ़ाइलों को बाहर ले जाने के लिए समाप्त हो गया, पुनर्स्थापित करना और सुनिश्चित करना कि स्थानीय व्यवस्थापक समूह और मेरा स्वयं का उपयोगकर्ता खाता sysadmin भूमिका में जोड़ा गया था। यह एक चमकदार था, लेकिन यह अब काम करता है। धन्यवाद! –

+0

एफवाईआई, इसने मेरी समस्या हल की। –

0

एसक्यूएल सर्वर कॉन्फ़िगरेशन प्रबंधक।

इससे आपको इंस्टेंस खाता सेट करने की अनुमति मिल जाएगी।

हालांकि मुझे लगता है कि आप डेटाबेस मालिक को उस उपयोगकर्ता को बदल रहे हैं जिसके बाद आप डेटाबेस से कनेक्ट होते हैं। यदि आप एसएसपीआई का उपयोग कर रहे हैं तो यह आपके उपयोगकर्ता में लॉग इन होगा, या यदि आप SQL प्रमाणीकरण का उपयोग कर रहे हैं तो यह आपके कनेक्शन स्ट्रिंग के अंदर कनेक्ट होने वाला उपयोगकर्ता होगा।

अतिरिक्त:

आप Windows XP या इसके बाद के संस्करण पर डीबग कर रहे हैं, और आप व्यवस्थापक (स्थानीय) नहीं कर रहे हैं, तो आप उस सिस्टम पर "डिबगिंग उपयोगकर्ता" समूह में रखा जा करने की आवश्यकता होगी। अन्यथा स्मृति को एक्सेस करना या उस प्रक्रिया में डीबगर को अटैच करना जो आपके पास नहीं है, वह बड़ी संख्या में नहीं है। स्थानीय व्यवस्थापक खाते के रूप में अपने कंप्यूटर पर

+0

उत्तर के लिए धन्यवाद! मेरे पास दो फॉलो-अप प्रश्न हैं: 1) यदि मैं इंस्टेंस अकाउंट को अपने विंडोज उपयोगकर्ता अकाउंट में बदलता हूं, तो क्या वह अभी भी एएसपी.नेट को अपनी साइट्स को टेस्ट-रन करने के लिए एक्सेस की अनुमति देगा? 2) मैं डेटाबेस मालिक को खुद कैसे बदलूं (यह वास्तव में कुछ है जो मैं करना चाहता हूं)? जब मैंने कोशिश की है, तो मुझे अनुमति संदेश प्राप्त हुआ है। एक कैच 22 ... –

+0

हां, बशर्ते कि एएसपी.Net एप्लिकेशन पूल आपके उपयोगकर्ता के रूप में जुड़ रहा हो। यदि आप डीबगर से ASP.Net चलाते हैं, तो वह उदाहरण आपके उपयोगकर्ता के रूप में चलता है। आईआईएस में, वह उपयोगकर्ता "एप्लिकेशन पूल" द्वारा सेट किया गया है जो आपकी साइट को निष्पादित करता है। आप अपने उपयोगकर्ता प्रमाण-पत्रों के साथ एक कस्टम बना सकते हैं, फिर उस वेबसाइट के रूप में चलाने के लिए अपनी वेबसाइट सेट करें। हालांकि, समस्या यह है कि आपको अभी भी उस एक्सेस को प्राप्त नहीं होगा जिसे आप अपने डीबी के लिए चाहते हैं, जैसा डेटाबेस द्वारा सेट किया गया है, SQL सर्वर इंस्टेंस खाता नहीं। – Spence

+0

क्या आपके पास व्यवस्थापकीय विशेषाधिकार हैं? यदि आप करते हैं, तो शेक्सक आप प्रबंधन स्टूडियो से किस खाते से जुड़ रहे हैं। – Spence

संबंधित मुद्दे