SQL Server 2008: मैं उपयोगकर्ता नाम कैसे विशेषाधिकार प्रदान करता हूं?


102

मुझे SQL सर्वर प्रमाणीकरण के माध्यम से ODBC कनेक्शन स्थापित करने में सक्षम होना चाहिए।

SSMS में मैं किसी विशिष्ट डेटाबेस पर उपयोगकर्ता को सभी अधिकार प्राप्त करने में सक्षम होने के लिए कैसे अनुमति देता हूं?

वहाँ SSMS के साथ ग्राफिक रूप से ऐसा करने का एक तरीका है?

जवाबों:


139

यदि आप अपने उपयोगकर्ता को सभी पढ़ने की अनुमति देना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

यह db_datareaderउस उपयोगकर्ता के लिए डिफ़ॉल्ट भूमिका (सभी तालिकाओं पर अनुमति पढ़ें) को जोड़ता है ।

एक db_datawriterभूमिका भी है - जो आपके उपयोगकर्ता को सभी टेबल पर सभी अनुमतियाँ (INSERT, UPDATE, DELETE) प्रदान करती है:

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

यदि आपको अधिक बारीक होने की आवश्यकता है, तो आप GRANTकमांड का उपयोग कर सकते हैं :

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

और इसके बाद - आप विशिष्ट तालिकाओं पर चयन, INSERT, अद्यतन, DELETE की अनुमति दे सकते हैं।

यह SQL सर्वर के लिए MSDN पुस्तकें ऑनलाइन में बहुत अच्छी तरह से प्रलेखित है ।

और हाँ, आप इसे ग्राफिकल रूप से भी कर सकते हैं - SSMS में, अपने डेटाबेस पर जाएँ, फिर Security > Users, उस उपयोगकर्ता पर राइट-क्लिक करें, जिसे आप अनुमति देना चाहते हैं, फिर Propertiesनीचे दिए गए विज्ञापन में "डेटाबेस भूमिका सदस्यता" देखें जहाँ आप उसे जोड़ सकते हैं db भूमिकाओं के लिए उपयोगकर्ता।

वैकल्पिक शब्द


किसी तरह मेरे पास SSMS में केवल सुरक्षा ट्री में उपयोगकर्ता नोड नहीं है, केवल लॉगिन और क्रेडेंशियल्स - इसके अलावा, काम करने के लिए sp_addrolemember के लिए, उपयोगकर्ता को डेटाबेस में प्रश्न में मैप करना होगा, अन्यथा "उपयोगकर्ता ... नहीं करता है" डेटाबेस में मौजूद है "त्रुटि दी गई है ( stackoverflow.com/questions/7232559/… - स्वीकृत उत्तर के लिए टिप्पणियां देखें) - मैं उपयोगकर्ता की लॉगिन ऑब्जेक्ट के गुणों के माध्यम से उपयोगकर्ता-डीबी मैपिंग कर सकता
हूं

@marc_s, SSMS का उपयोग करके किसी विशेष तालिका से संबंधित अनुमति कैसे दें?
सीएडी


61

यदि आप वास्तव में चाहते हैं कि उनके पास सभी अधिकार हों:

use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go

18

निम्नलिखित की तरह। यह उपयोगकर्ता डेटाबेस का स्वामी बना देगा।

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