क्या एक उपयोगकर्ता का चयन करने और उन्हें db_datareader भूमिका में जोड़ने के बीच कोई अंतर है?


9

मैं देने के लिए कहा गया था SELECT, INSERTऔर UPDATEएक डेटाबेस में सभी तालिकाओं के लिए किसी विशेष उपयोगकर्ता के लिए। मैं करने के लिए उपयोगकर्ता को जोड़ने समाप्त हो गया db_datareaderहै और उन्हें देने INSERTऔर UPDATEडेटाबेस के स्तर पर।

लेकिन मुझे यह सोचकर मिला, कि SELECTडेटाबेस स्तर पर उपयोगकर्ता की अनुमति देने या उन्हें db_datareaderभूमिका में जोड़ने के बीच क्या अंतर है (यदि कोई हो) ? और क्या कोई सबसे अच्छा तरीका है एक तरीका या दूसरा?

जवाबों:


7

रिक बाईहम में एक WIKI पोस्ट है जो फिक्स्ड सर्वर और फिक्स्ड डेटाबेस रोल्स दिखाती है और वे कैसे मैप करते हैं। आप यहाँ देख सकते हैं: http://social.technet.microsoft.com/wiki/contents/articles/database-engine-fixed-server-and-fixed-database-roles.aspx

चार्ट से पता चलता है कि db_datareader भूमिका GRANT SELECT ON [डेटाबेस] के समान है। तो यह अभी भी उपयोग करने के लिए ठीक है, लेकिन सिफारिश उन भूमिकाओं से अधिक दानेदार आदेशों से दूर जाने के लिए है। अन्य निश्चित डेटाबेस भूमिकाओं में से अधिकांश लोगों के लिए स्पष्ट रूप से परिभाषित नहीं हैं। अधिकारों की रिपोर्टिंग करते समय स्पष्ट आदेशों का उपयोग करने से अधिक स्पष्टता प्राप्त होती है।

जाहिर है आप जानते हैं कि महीन दाने की अनुमति कैसे दी जाती है। मैं जब भी संभव हो पुरानी भूमिकाओं से ढीले को तोड़ने की कोशिश कर रहा हूं, लेकिन db_owner (उदाहरण के लिए) को तोड़ना एक कठिन आदत है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.