2009-01-19 3 views
54

SQL सर्वर में किसी उपयोगकर्ता को db_datareader और db_datawriter भूमिका नियुक्त करने के लिए सटीक SQL क्या है?एसक्यूएल सर्वर में किसी डेटाबेस में टेबल को पढ़ने और लिखने के लिए टी-एसक्यूएल क्या है?

उपयोगकर्ता का नाम MYUSER है और डेटाबेस MYDB है।

उत्तर

84

एसक्यूएल सर्वर 2012 में, 2014:

USE mydb 
GO 

ALTER ROLE db_datareader ADD MEMBER MYUSER 
GO 
ALTER ROLE db_datawriter ADD MEMBER MYUSER 
GO 

एसक्यूएल सर्वर 2008 में:

GRANT EXECUTE TO MYUSER; 
:

use mydb 
go 

exec sp_addrolemember db_datareader, MYUSER 
go 
exec sp_addrolemember db_datawriter, MYUSER 
go 

भी एक डाटाबेस के लिए सभी संग्रहित प्रक्रियाओं पर अमल करने की क्षमता आवंटित करने के लिए

विशिष्ट संग्रहीत प्रक्रियाओं को निष्पादित करने की क्षमता असाइन करने के लिए:

GRANT EXECUTE ON dbo.sp_mystoredprocedure TO MYUSER; 
+0

देखें? – Kiquenet

11

SQLServer 2012 सुरुचिपूर्ण alter role से:

use mydb 
go 

ALTER ROLE db_datareader 
    ADD MEMBER MYUSER 
go 
ALTER ROLE db_datawriter 
    ADD MEMBER MYUSER 
go 
0

यह बेहतर होगा इस भूमिका के लिए इस भूमिका के लिए एक नई भूमिका बनाने के लिए, तो निष्पादित अनुदान का चयन करें ... आदि अनुमतियों और अंत में आवंटित उपयोगकर्ताओं ।

भूमिका इस भूमिका

GRANT EXECUTE TO db_SomeExecutor 
GRANT INSERT TO db_SomeExecutor 

उन डेटाबेस जोड़ें करने के लिए

CREATE ROLE [db_SomeExecutor] 
GO 

अनुदान अनुमति बनाएं> सुरक्षा>> भूमिकाओं> databaseroles> गुण> जोड़ें (नीचे दाएँ) आप ई उन खोज और कर सकते हैं तो जोड़ने

या

EXEC sp_addrolemember 'db_SomeExecutor', 'domainName\UserName' 

कृपया पढ़ने के लिए post

संबंधित मुद्दे