मैं SQL सर्वर 2008 एक्सप्रेस संस्करण का उपयोग कर रहा हूं।मैं एक स्कीमा पर डेटाबेस भूमिका निष्पादन अनुमतियाँ कैसे प्रदान करूं? मैं क्या गलत कर रहा हूं?
मैंने लॉगिन, उपयोगकर्ता, भूमिका और स्कीमा बनाया है। मैंने उपयोगकर्ता को लॉगिन करने के लिए मैप किया है, और उपयोगकर्ता को भूमिका सौंपी है।
स्कीमा में कई टेबल और संग्रहित प्रक्रियाएं हैं।
मैं पूरी स्कीमा पर निष्पादन अनुमतियां रखना चाहता हूं।
मैंने प्रबंधन स्टूडियो के माध्यम से निष्पादन अनुमति देने और क्वेरी विंडो में कमांड दर्ज करने का प्रयास किया है।
GRANT EXEC ON SCHEMA::schema_name TO role_name
लेकिन जब मैं एसक्यूएल प्रबंधन स्टूडियो (प्रवेश के रूप में मैं पैदा की है) का उपयोग सबसे पहले मैं संग्रहित प्रक्रियाओं नहीं देख सकते हैं डेटाबेस से कनेक्ट है, लेकिन अधिक महत्वपूर्ण बात मैं जब उन्हें चलाने का प्रयास एक अनुमति नहीं दी त्रुटि मिलती है।
प्रश्न में संग्रहीत प्रक्रिया एक ही schma के भीतर एक तालिका से चयन डेटा को छोड़कर कुछ भी नहीं करता है।
मैं के साथ और लाइन के बिना संग्रहीत प्रक्रिया बनाने की कोशिश की है:
WITH EXECUTE AS OWNER
यह कोई फर्क नहीं पड़ता।
मुझे संदेह है कि मैंने अपनी स्कीमा बनाने के दौरान कोई त्रुटि की है, या कहीं स्वामित्व समस्या है, लेकिन मैं वास्तव में कुछ काम करने के लिए संघर्ष कर रहा हूं।
संग्रहित प्रक्रियाओं को निष्पादित करने में सफलतापूर्वक प्रबंधित करने का एकमात्र तरीका भूमिका के साथ-साथ निष्पादन के लिए नियंत्रण अनुमतियां दे रहा है, लेकिन मुझे विश्वास नहीं है कि यह आगे बढ़ने का सही, सुरक्षित तरीका है।
किसी भी सुझाव/टिप्पणियों की वास्तव में सराहना की जाएगी।
धन्यवाद।
क्या आपने स्पोक के लिए बनाए गए उपयोगकर्ता को निष्पादित अनुमतियां दी थीं? –