2011-10-10 15 views
13

पर EXECUTE अनुमति अस्वीकार कर दी गई थी, मैं एमएस एसक्यूएल 2008 के साथ एएसपीनेट 4 सी # और इकाई फ्रेमवर्क 4 का उपयोग करता हूं। मैं आईआईएस 7 का उपयोग करके स्थानीय रूप से अपना वेब एप्लिकेशन सेट अप करने की कोशिश कर रहा हूं।ऑब्जेक्ट 'aspnet_CheckSchemaVersion', डेटाबेस 'XXX'

मेरी वेबसाइट के लिए मैं उपयोगकर्ता Asp सदस्यता प्रदाता है जिसने मेरे डीबी (aspnet_) में विभिन्न टेबल और स्पॉक्स स्थापित किए हैं।

स्क्रिप्ट चल रही है हम यह त्रुटि प्राप्त:

The EXECUTE permission was denied on the object 'aspnet_CheckSchemaVersion', database 'XXX', schema 'dbo'.  at System.Data.SqlClient.SqlConnection.OnError 
  • मैं इस समस्या को कैसे हल कर सकते हैं? कृपया मुझे स्पष्ट निर्देश प्रदान करें। इस पर आपके ढेर के लिए धन्यवाद।
+4

आप एक महान हैं? मुझे लगता है कि आप नोब का मतलब है, लेकिन यह एक कॉमेडी टाइपो है। –

+0

यहां उत्तर दिया गया: http://stackoverflow.com/questions/16134262/execute-permission-denied-aspnet-roles-roleexists?answertab=active#tab-top –

उत्तर

23

सदस्यता तालिका से संबंधित कुछ डीबी भूमिकाएं होनी चाहिए, जैसे aspnet_profile_fullaccess। सुनिश्चित करें कि आप जिस खाते का उपयोग कर रहे हैं वह उचित भूमिका का सदस्य है।

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

+0

धन्यवाद सिमोन मैंने सावधानी से आपका जवाब पढ़ा और मैं आपसे सहमत हूं। – GibboK

+2

जिस उपयोगकर्ता के साथ मैं कनेक्ट कर रहा हूं, उसके पास सभी एस्पनेट_ * भूमिकाएं हैं और मुझे अभी भी यह त्रुटि संदेश मिल रहा है। काम करने लगता है कि एकमात्र तरीका यह है कि अगर मैं dbowner भूमिका जोड़ता हूं। जो कुछ भी आप जानते हैं वह इसका कारण होगा? – ajbeaven

+1

आपको एएसपी.NET SQL सर्वर पंजीकरण उपकरण चलाया जा सकता है: http://msdn.microsoft.com/en-us/library/ms229862(v=vs.100).aspx – arni

1

समस्या यह है कि उपयोगकर्ता आईडी जिस पर लॉग इन कर रहा है उसके पास डेटाबेस में पर्याप्त विशेषाधिकार नहीं हैं। इसे या तो डेटाबेस स्वामी होने की आवश्यकता है या सभी aspnet_ संग्रहीत प्रक्रियाओं पर अनुमतियां दी जानी चाहिए।

तो कृपया इस विशेष उपयोगकर्ता के लिए SQL सर्वर 2008 में अनुमतियां जांचें। और यदि संभव हो तो इस उपयोगकर्ता को एक डबनेर के रूप में बनाएं।

आशा इस मदद करता है ...

संपादित करें: मैं के रूप में dbowner सिर्फ एक बार आप वाकई समस्या के बारे में, आपको लगता है कि करने के लिए अनुमति प्रदान कर सकते हैं वहाँ, कुछ अनुमति मुद्दे हैं कि सत्यापित करने के लिए आप इसे बनाना चाहते थे उपयोगकर्ता। इसलिए सटीक कारण और सटीक समाधान जानना।

+1

उपयोगकर्ता को एक डबनेर बनाने के सुझाव के लिए वोट दिया गया। मुझे पता है कि आपने इसे अपने संपादन में योग्यता प्राप्त की है, लेकिन मुझे पता है कि यह कथन खतरनाक हो सकता है। – awrigley

0

मुझे नहीं लगता कि आपको उपयोगकर्ता को db_owner बनाना चाहिए। मुझे एक ही समस्या थी, और यह मेरे उपयोगकर्ता को बेसिकएप के साथ 4 भूमिकाओं को भव्य करने के लिए पर्याप्त था + उसे सभी संग्रहीत प्रो पर 0: 3

अनुदान [theUserName] के लिए अनुदान दें;

मुझे पता है कि यह आदर्श नहीं है। किसी को केवल आवश्यक संग्रहित प्रोसेस पर केवल अनुमतियां प्रदान करनी चाहिए, लेकिन यदि आपको कोई त्वरित समाधान की आवश्यकता नहीं है जब तक कि आपको यह पता न लगे कि आपके उपयोगकर्ता को कौन सा एसपी निष्पादित करने में सक्षम होना चाहिए, यह काम करना चाहिए।

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