SQL Server 2008:我如何授予用户名的权限?

我需要能够通过SQL Server身份validationbuild立一个ODBC连接。

在SSMS中,我如何授予用户在特定数据库上拥有ALL RIGHTS的权限?

有没有办法做到这一点与SSMSgraphics?

如果你想给你的用户所有的读取权限,你可以使用:

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

这会将默认的db_datareaderangular色(所有表的读取权限)添加到该用户。

还有一个db_datawriterangular色 – 在所有表上为您的用户提供所有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'