如何仅授予对Sql Server数据库中的单个表的READ访问权限

Sre*_*ree 18 sql-server grant user-roles

我想只为给定用户 - xyz提供SQL Server数据库中单个表的READ访问权限

经历过以下问题:

如何为SQL Server中的数据库授予用户读取权限?

授予对数据库的SQL Server登录访问权限 - SQL Server

在SQL Server 2005中授予对2个表的只读访问权限的最佳方法?

但它为我提出了一些基本问题,通过角色和用户名提供访问权限有何不同?

请提供一种有效的方法来做到这一点

Sre*_*ree 32

我以这种方式解决了这个问题:

CREATE LOGIN XYZ
WITH PASSWORD = 'PASSWORD'
Run Code Online (Sandbox Code Playgroud)

创建XYZ登录后,为创建的上述登录创建用户

CREATE USER xyz FOR LOGIN xyz
Run Code Online (Sandbox Code Playgroud)

然后授予select,update权限,在我的情况下,它只是在特定表上选择

GRANT SELECT ON DBNAME.TABLE_NAME TO USERNAME
Run Code Online (Sandbox Code Playgroud)

我提到的来源是

  1. http://technet.microsoft.com/en-us/library/aa337545.aspx(参考标题为创建数据库用户的底部代码部分)

  2. http://social.msdn.microsoft.com/Forums/sqlserver/en-US/959f9307-0494-4883-9d17-fad684705864/grant-select-permission-on-a-table?forum=sqldatabaseengine


Kar*_*nan 2

通过用户名授予访问权限仅特定于该用户。

但通过角色授予访问权限适用于属于该角色的所有用户。角色用于向一组用户分配权限。