我需要能够通过SQL Server身份验证建立ODBC连接。SQL Server 2008:我如何授予用户名权限?
在SSMS中,我如何授予用户在特定数据库上拥有ALL RIGHTS的权限?
有没有办法用SSMS图形化地做到这一点?
我需要能够通过SQL Server身份验证建立ODBC连接。SQL Server 2008:我如何授予用户名权限?
在SSMS中,我如何授予用户在特定数据库上拥有ALL RIGHTS的权限?
有没有办法用SSMS图形化地做到这一点?
如果你想给你的用户的所有权限读取,你可以使用:
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
等等 - 您可以在特定表上细化地给予SELECT,INSERT,UPDATE,DELETE权限。
这在MSDN Books Online for SQL Server中都有很好的记录。
是的,你也可以做到这一点图形 - 在SSMS,去你的数据库,然后Security > Users
,你想在你看到“数据库角色成员底部,为的权限,然后Properties
ADN用户右键点击“你可以将用户添加到数据库角色。
如果你真的希望他们有版权所有:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go
像下面。它将使用户数据库所有者。
EXEC sp_addrolemember N'db_owner', N'USerNAme'
写什么>? – 2010-10-22 16:01:00
不知何故,我没有SSMS中安全树中的用户节点,只有登录和凭证 - 除此之外,为了让sp_addrolemember工作,用户必须被映射到有问题的数据库,否则“用户...不存在于数据库“错误给出(http://stackoverflow.com/questions/7232559/mssql-giving-loginsusers-db-owner-access-to-database-看到接受的答案的评论) - 我可以给用户-db通过用户的登录对象的属性映射 – 2014-08-14 11:26:55
@marc_s,如何使用SSMS授予与特定表相关的权限? – CAD 2014-10-12 07:00:56