SQL Server 2008:我如何授予用户名的权限?
我需要能够通过SQL Server身份validationbuild立一个ODBC连接。
在SSMS中,我如何授予用户在特定数据库上拥有ALL RIGHTS的权限?
有没有办法做到这一点与SSMSgraphics?
如果你想给你的用户所有的读取权限,你可以使用:
EXEC sp_addrolemember N'db_datareader', N'your-user-name'
这会将默认的db_datareader
angular色(所有表的读取权限)添加到该用户。
还有一个db_datawriter
angular色 – 在所有表上为您的用户提供所有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权限。
这在SQL Server联机丛书中已经有很好的logging。
是的,你也可以用graphics的方式做 – 在SSMS中,进入你的数据库,然后Security > Users
,右键单击你想给予权限的用户,然后在Properties
adn的底部看到“数据库angular色成员身份”您可以将用户添加到数据库angular色。
如果你真的希望他们拥有所有权利:
use YourDatabase go exec sp_addrolemember 'db_owner', 'UserName' go
像这样,它会使用户数据库的所有者
EXEC sp_addrolemember N'db_owner', N'USerNAme'