[英]SQL Server 2008: how do I grant privileges to a username?
我需要能夠通過SQL Server身份驗證建立ODBC連接。
在SSMS中,如何授予用戶在特定數據庫上擁有所有權限的權限?
有沒有辦法用SSMS以圖形方式做到這一點?
如果您想為您的用戶提供所有讀取權限,您可以使用:
EXEC sp_addrolemember N'db_datareader', N'your-user-name'
這會將默認的db_datareader
角色(對所有表的讀取權限)添加到該用戶。
還有一個db_datawriter
角色 - 它為您的用戶提供所有表的所有WRITE權限(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
依此類推 - 您可以精確地為特定表提供SELECT,INSERT,UPDATE,DELETE權限。
這些都在MSDN聯機叢書中針對SQL Server進行了詳細記錄 。
是的,你也可以用圖形方式做 - 在SSMS中,轉到你的數據庫,然后是Security > Users
,右鍵單擊你想要授予權限的那個用戶,然后在底部的Properties
和你看到“數據庫角色成員資格”,其中您可以將用戶添加到數據庫角色。
如果你真的希望他們擁有所有權利:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go
如下所示。 它將使用戶數據庫所有者。
EXEC sp_addrolemember N'db_owner', N'USerNAme'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.