भूमिका db_owner क्या अनुमति देता है


15

मैं एक लॉगिन को समस्या निवारण करने की कोशिश कर रहा हूं जो SQL Server 2012 डेटाबेस में कुछ तालिकाओं को देखने में सक्षम नहीं है। ऐसा करने में मुझे लगता है कि मुझे समझ में नहीं आ रहा है कि db_ownerभूमिका में सदस्यता की क्या अनुमति है। मैं अन्य भूमिकाओं को समझ सकता हूं जैसे कि db_datareader and db_datawriterलेकिन मैं इस उलझन में रहता हूं कि क्या db_ownerअनुमति देता है।

जवाबों:


15

कृपया डेटाबेस-स्तरीय भूमिकाओं के लिए BOL पर संदर्भ देखें :

db_owner

Db_owner निश्चित डेटाबेस भूमिका के सदस्य डेटाबेस पर सभी कॉन्फ़िगरेशन और रखरखाव गतिविधियाँ कर सकते हैं, और डेटाबेस को छोड़ भी सकते हैं

सभी अनुमतियों को देखने का सबसे आसान तरीका sys.fn_my_permissions()फ़ंक्शन का उपयोग करना है। पहले सत्यापित करें कि आप इसके सदस्य हैं db_owner:

select
    rol.name
from sys.database_principals mem
inner join sys.database_role_members drm
on drm.member_principal_id = mem.principal_id
inner join sys.database_principals rol
on drm.role_principal_id = rol.principal_id
where mem.principal_id = user_id();

अब सभी प्रभावी डेटाबेस अनुमतियों को सूचीबद्ध करें:

select *
from sys.fn_my_permissions(null, 'database');

यह आपके उद्देश्यों के लिए पर्याप्त रूप से दानेदार होना चाहिए। टिप्पणी करने के लिए कुछ है, sys.fn_my_permissions()रिटर्न प्रभावी अनुमतियाँ, तो यह की एक एकत्रीकरण के रूप में लगता है।


क्या इसका मतलब यह होगा कि db_ownerसदस्यता लेने वाले उपयोगकर्ता के पास डिफ़ॉल्ट रूप से समान अनुमतियां हैं db_readerऔर db_writer?
वेबवॉर्म

5
के एक सदस्य db_ownerतय डेटाबेस भूमिका होगी SELECT, INSERT, UPDATE, और DELETEडेटाबेस पर अनुमतियाँ। कई अन्य अनुमतियों के बीच, लेकिन हां, यह सही है।
थॉमस स्ट्रिंगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.