जवाबों:
सेब और संतरे। भूमिकाएं भूमिकाएं हैं और स्कीमा स्कीमा हैं। तथ्य यह है कि एक भूमिका कहा जाता है db_accessadmin
और एक स्कीमा भी कहा जाता db_accessadmin
है इसका मतलब यह नहीं है कि एक भूमिका स्कीमा है और न ही एक स्कीमा एक भूमिका है। रोल्स सुरक्षा सदस्यता कंटेनर हैं, एक प्रिंसिपल एक भूमिका का सदस्य है। स्कीमा में डेटाबेस स्कीमा बाउंड ऑब्जेक्ट होते हैं और एक प्रिंसिपल के स्वामित्व में होते हैं। जब आप एक नया उपयोगकर्ता बनाते हैं तो आप उसका डिफ़ॉल्ट स्कीमा चुन सकते हैं, उसे कुछ भूमिकाओं में जोड़ सकते हैं, और उसे स्कीमा का स्वामित्व प्रदान कर सकते हैं। हालांकि कार्रवाई अलग-अलग हैं, इस संवाद के डिजाइनरों को लगता है कि वे किसी भी तरह से संबंधित हैं जो यूएक्स रियल एस्टेट ( यह संदिग्ध है, लेकिन एक पूरी तरह से अलग विषय) है।
खैर .. यह एक बहुत पुराना धागा है, लेकिन अभी भी मेरे लिए 2 सेंट उन लोगों से हैं जो अभी भी यहां आएंगे। इस लिंक में उपरोक्त क्वेरी के लिए सबसे अच्छा उत्तर है।
उसी का एक अंश:
एसक्यूएल सर्वर जहाज दस पूर्व-परिभाषित स्कीमाओं के साथ होता है जिनके अंतर्निहित डेटाबेस उपयोगकर्ताओं और भूमिकाओं के समान नाम होते हैं। ये मुख्य रूप से पिछड़े संगतता के लिए मौजूद हैं। आप उन स्कीमाओं को छोड़ सकते हैं जिनके पास निश्चित डेटाबेस भूमिकाओं के समान नाम हैं यदि आपको उनकी आवश्यकता नहीं है।
db_datareader
भूमिका और स्कीमा के साथ उपयोगकर्ताओं द्वारा लिखने योग्य हो सकते हैं , जो जरूरी नहीं कि किसी और द्वारा पढ़ा जा सकता है। एक ऐसे ऐप के लिए अच्छी तरह से काम करेगा, जिसे केवल पढ़ने की पहुंच की आवश्यकता हैdbo
, लेकिन कुछ संग्रहित प्रोकर्स या ट्रिगर्स इंस्टॉल करने की आवश्यकता है। बेशक, अभी भी आपको प्रत्येक उपयोगकर्ता को भूमिका और स्कीमा दोनों को मैन्युअल रूप से जोड़ना होगा।