2012-02-07 11 views
14

हाल ही में बस SQL ​​Server 2008 R2 एक्सप्रेस में अपग्रेड किया गया है।एसक्यूएल सर्वर 2008 आर 2 एक्सप्रेस अनुमतियां - डेटाबेस नहीं बना सकते हैं या उपयोगकर्ताओं को संशोधित नहीं कर सकते

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
CREATE DATABASE permission denied in database 'master'. RESTORE HEADERONLY is terminating abnormally Error 262

अगर मैं roger.moore को sysadmin भूमिका को जोड़ने का प्रयास, यह त्रुटि मैं प्राप्त है: मैं इस त्रुटि मिलती है जब मैं अपने आईडी roger.moore के साथ Windows प्रमाणीकरण का उपयोग करने में प्रवेश करने के बाद एक डेटाबेस बनाने का प्रयास :

:

Add member failed for ServerRole 'sysadmin'. (Microsoft.SqlServer.Smo)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
User does not have permission to perform this action Error 15247

अगर मैं T-SQL के साथ मेरे उपयोगकर्ता को यह भूमिका को जोड़ने के लिए, इस आदेश का उपयोग करके देखें,

EXEC sp_addsrvrolemember 'ziffenergy\roger.moore', 'sysadmin'; 
GO 

यहाँ त्रुटि मैं प्राप्त है

Msg 15247, Level 16, State 1, Procedure sp_addsrvrolemember, Line 29
User does not have permission to perform this action.

क्या किसी के पास कोई सुझाव है? ऐसा लगता है कि मैं स्थानीय मशीन पर डेटाबेस के साथ कुछ भी नहीं कर सकता। कृपया ध्यान दें कि मैं विंडोज 7 वर्कस्टेशन पर व्यवस्थापक हूं जिसका उपयोग मैं कर रहा हूं, और यदि मैं डेटाबेस और/या हमारे नेटवर्क पर उपयोगकर्ताओं को SQL सर्वर प्रबंधन स्टूडियो का उपयोग कर आईटी टेस्ट डेटाबेस सर्वर बनाने या संशोधित करने का प्रयास करता हूं, तो मैं इसे बिना किसी समस्या के कर सकता हूं।

उत्तर

12

आप वर्कस्टेशन पर एक व्यवस्थापक हो सकते हैं, लेकिन इसका मतलब SQL सर्वर से कुछ भी नहीं है। प्रश्न में कार्रवाई करने के लिए आपका लॉगिन sysadmin भूमिका का सदस्य होना चाहिए। डिफ़ॉल्ट रूप से, स्थानीय व्यवस्थापक समूह अब SQL 2008 R2 में sysadmin भूमिका में नहीं जोड़ा गया है। खुद को अनुमति देने के लिए आपको कुछ और (उदाहरण के लिए sa) के साथ लॉगिन करने की आवश्यकता होगी।

+0

प्रतिक्रिया के लिए धन्यवाद। हाँ, मैंने sa का उपयोग करके लॉगिन करने का प्रयास किया है; हालांकि, जब मैं sa के लिए पासवर्ड सेट करने का प्रयास करता हूं, तो मुझे यह त्रुटि संदेश मिलता है: "पासवर्ड बदलें 'sa' के लिए पासवर्ड बदलें। (Microsoft.SqlServer.Smo) एक ट्रांजैक्ट-एसक्यूएल कथन या बैच निष्पादित करते समय एक अपवाद हुआ। (माइक्रोसॉफ्ट .SqlServer.ConnectionInfo) लॉगिन 'sa' को बदल नहीं सकता है, क्योंकि यह अस्तित्व में नहीं है या आपके पास अनुमति नहीं है। (माइक्रोसॉफ्ट एसक्यूएल सर्वर, त्रुटि: 15151) "कोई विचार? – Roger

+0

यह वही समस्या है। आप पासवर्ड सेट नहीं कर पाएंगे क्योंकि आपके खाते में आपके SQL इंस्टेंस में आवश्यक अनुमतियां नहीं थीं। यदि आपको लॉगिन विवरण नहीं पता है, तो sysadmin विशेषाधिकार वाले खाते (या कुछ अन्य विशेष विशेषाधिकार जो आपकी स्थिति में बहुत ही असंभव हैं) तो आपको इसे किसी ऐसे व्यक्ति से प्राप्त करने की आवश्यकता होगी जो आपको करता है। – squillman

+1

लेकिन मैं वह व्यक्ति हूं जिसने मेरे वर्कस्टेशन पर SQL Server 2008 R2 सॉफ़्टवेयर स्थापित किया है, तो क्या मेरे पास आवश्यक अनुमतियां नहीं होनी चाहिए? – Roger

37

पार्टी के लिए देर से आ रहा है, लेकिन मुझे आपके SQLExpress उदाहरण पर नियंत्रण प्राप्त करने पर यह fantastic step-by-step guide मिला है यदि आपके पास अपना पासवर्ड नहीं है। मैंने इस प्रक्रिया का उपयोग न केवल अपने पासवर्ड को रीसेट करने के लिए किया, बल्कि मैंने अपने डोमेन खाते को सभी उपलब्ध सर्वर भूमिकाओं में भी जोड़ा। अब मैं अपने सामान्य लॉगिन का उपयोग कर डेटाबेस बना सकता हूं, लॉगिन कर सकता हूं, थोक संचालन, बैकअप/पुनर्स्थापना आदि कर सकता हूं।

संक्षेप में, आप SQL सर्वर कॉन्फ़िगरेशन प्रबंधक का उपयोग अपने उदाहरण को एकल-उपयोगकर्ता मोड में रखने के लिए करते हैं। यह आपको कनेक्ट करते समय sysadmin पर ले जाता है, जिससे आप सब कुछ सेट अप करने की क्षमता देते हैं।

संपादित करें: मैंने नीचे दिए गए लिंक के मूल लेखक को नीचे दिए गए चरणों की प्रतिलिपि बनाई है। बाएँ फलक

  • बंद करो "पर एक प्रशासक के रूप में कंप्यूटर (या व्यवस्थापक विशेषाधिकारों के साथ कोई भी उपयोगकर्ता)
  • खोलें" एसक्यूएल सर्वर कॉन्फ़िगरेशन मैनेजर "
  • पर क्लिक करें" एसक्यूएल सर्वर सेवा "करने के लिए पर

    1. प्रवेश करें SQL Server "और" SQL सर्वर एजेंट "उदाहरण दाएं फलक पर
    2. " SQL सर्वर "उदाहरण -> गुण (SQL सर्वर के दाएं फलक पर) पर राइट क्लिक करके एकल-उपयोगकर्ता मोड में SQL एक्सप्रेस चलाएं विन्यास प्रबंधक)।
    3. उन्नत टैब पर क्लिक करें, और "स्टार्टअप पैरामीटर्स" देखें। "स्टार्टअप पैरामीटर" बदलें ताकि नया मान -m; (< के बिना>) उदाहरण: से: -डीसी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट एसक्यूएल ............. (स्ट्रिंग का टिल एंड) से: -एम; -डीसी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट एसक्यूएल .............(स्ट्रिंग के अंत तक)
    4. SQL सर्वर
    5. अपना एमएस एसक्यूएल सर्वर प्रबंधन स्टूडियो खोलें और प्रमाणीकरण मोड के रूप में "विंडोज प्रमाणीकरण" के साथ SQL सर्वर पर लॉग ऑन करें। चूंकि हमारे पास एकल उपयोगकर्ता मोड पर चल रहा SQL सर्वर है, और आप प्रशासक विशेषाधिकारों के साथ कंप्यूटर पर लॉग ऑन हैं, तो आपके पास डेटाबेस में "sysadmin" पहुंच होगी।
    6. नोड बाएँ फलक पर एमएस एसक्यूएल सर्वर प्रबंधन स्टूडियो पर "सुरक्षा" नोड का विस्तार करें
    7. विस्तृत "लॉगिन"
    8. 'सा' के लिए लॉग इन
    9. बदलें पासवर्ड एक जटिल पासवर्ड दर्ज करके डबल क्लिक करें अगर "पासवर्ड नीति लागू करें" चुना जाता है, अन्यथा, बस कोई पासवर्ड दर्ज करें।
    10. सुनिश्चित करें कि बाएं फलक पर स्थिति पर क्लिक करके "sa" खाता "सक्षम" है। को "सक्षम"
    11. क्लिक करें "ठीक है"
    12. वापस एमएस एसक्यूएल सर्वर प्रबंधन स्टूडियो की मुख्य विंडो पर "लॉगिन" के अंतर्गत रेडियो बॉक्स सेट करें, यह सत्यापित करें कि SQL सर्वर प्रमाणीकरण में शीर्ष सबसे नोड पर राइट क्लिक करके प्रयोग किया जाता है बाएं फलक (आमतौर पर "। \ SQLEXPRESS (SQL सर्वर)") और गुणों का चयन। बाएँ फलक में और सुनिश्चित करें कि "एसक्यूएल सर्वर और Windows प्रमाणीकरण मोड" "सर्वर प्रमाणीकरण"
    13. क्लिक करें "ठीक है"
    14. एमएस एसक्यूएल सर्वर प्रबंधन से डिस्कनेक्ट के तहत चयनित स्टूडियो
    15. एक है
    16. क्लिक करें "सुरक्षा"
    17. फिर से "SQL सर्वर कॉन्फ़िगरेशन प्रबंधक" खोलें और SQL सर्वर इंस्टेंस को रोकें।
    18. SQL सर्वर इंस्टेंस पर राइट-क्लिक करें और "उन्नत" टैब पर क्लिक करें। फिर "स्टार्टअप पैरामीटर्स" की तलाश करें और "-m;" को हटा दें जिसे आपने पहले जोड़ा था।
    19. क्लिक करें "ठीक है" और SQL सर्वर उदाहरण फिर से शुरू
    20. अब आप नया पासवर्ड आपके द्वारा चरण में निर्धारित किया है का उपयोग कर के रूप में "सा" पर लॉग ऑन करने में सक्षम होना चाहिए 12.
  • +0

    यह उत्तर मेरे लिए बेकार ढंग से काम किया। धन्यवाद! – Francisc0

    +0

    आपको बहुत बहुत धन्यवाद !!! – JATMON

    +1

    एसक्यूएल सर्वर 2008 आर 2 एंटरप्राइज़ के लिए भी काम करता है। धन्यवाद! – Edo

    2

    SSMS 2012 में , आप का उपयोग करना होगा:

    , एकल उपयोगकर्ता मोड सक्षम करने के लिए एसक्यूएल उदाहरण के गुणों में, "अग्रिम" टैग करने के लिए जाना नहीं है, वहाँ पहले से ही एक "स्टार्टअप पैरामीटर" टैग है।

    1. जोड़ें "मी," पैरामीटर में;
    2. पुनरारंभ सेवा और खिड़कियों प्रमाणीकरण का उपयोग करके इस एसक्यूएल उदाहरण logon;
    3. शेष चरण ऊपर जैसा ही हैं। सुरक्षा में अपने विंडोज उपयोगकर्ता खाता अनुमति बदलें या एसए खाता पासवर्ड रीसेट करें।
    4. अंतिम, "स्टार्टअप पैरामीटर" से हटाने "मी" पैरामीटर;
    0

    मेरे पास विंडोज़ मशीन पर 2 खाते हैं और मैं इनमें से एक के साथ इस समस्या का सामना कर रहा था। मैं sa खाते का उपयोग नहीं करना चाहता था, मैं Windows लॉगिन का उपयोग करना चाहता था। यह मेरे लिए तुरंत स्पष्ट नहीं था कि मैं बस उस दूसरे खाते का मैं एसक्यूएल सर्वर स्थापित करने के लिए प्रयोग किया जाता है में प्रवेश करें, और अनुमतियाँ नए खाते के लिए वहाँ

    (SSMS > Security > Logins > Add a login there)

    से पूर्ण पाने के लिए

    आसान तरीका जोड़ने की जरूरत डोमेन नाम जो आपको वहां खोलने की जरूरत है, cmd प्रत्येक को गूंजता है।

    echo %userdomain%\%username% 
    

    उस उपयोगकर्ता के लिए लॉगिन जोड़ें और इसे मास्टर डीबी और अन्य डेटाबेस के लिए सभी अनुमति दें। जब मैं कहता हूं कि "सभी अनुमतियां" सुनिश्चित करें कि किसी भी "इनकार" अनुमतियों की जांच न करें क्योंकि इससे विपरीत होगा।

    1

    मैंने हत्यारे के जवाब में कदमों का पालन किया और मेरे आश्चर्य से यह काम नहीं किया। एस के रूप में लॉग इन करना मैं अपने विंडोज डोमेन उपयोगकर्ता को देख सकता था और उन्हें एक sysadmin बना दिया था, लेकिन जब मैंने विंडोज ऑथ के साथ लॉग इन करने का प्रयास किया तो मैं लॉग इन के तहत अपना लॉगिन नहीं देख सका, डेटाबेस नहीं बना सका, आदि। फिर उसने मुझे मारा। वह लॉगिन शायद उसी नाम से दूसरे डोमेन खाते से जुड़ा हुआ था (किसी प्रकार की आंतरिक/छिपी हुई आईडी के साथ जो सही नहीं था)। मैंने थोड़ी देर पहले इस संगठन को छोड़ दिया था और फिर महीनों बाद वापस आया था। मेरे पुराने खाते को पुनः सक्रिय करने के बजाय (जिसे उन्होंने हटा दिया हो) उन्होंने एक ही डोमेन \ उपयोगकर्ता नाम और एक नई आंतरिक आईडी के साथ एक नया खाता बनाया। Sa का उपयोग करके मैंने अपना पुराना लॉगिन हटा दिया, इसे उसी नाम से दोबारा जोड़ा और sysadmin जोड़ा। मैंने विंडोज एथ के साथ वापस लॉग इन किया और सब कुछ दिखता है जैसा दिखना चाहिए। अब मैं अपने लॉग इन (और अन्य) देख सकता हूं और जो कुछ भी मुझे अपने विंडोज़ ऑथ लॉगिन का उपयोग कर sysadmin के रूप में करने की ज़रूरत है।

    +0

    डोमेन खातों के संबंध में अच्छा बिंदु - शायद हुड के नीचे एक अलग एसआईडी। इस तरह की चीज को सत्यापित करने के लिए, कोई भी बिना दर्द के शक्तियों का उपयोग कर सकता है: http://windowsitpro.com/windows-server/find-sid-account-using-powershell – killthrush

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