【问题标题】:How can I grant only READ access to a Single table in Sql Server Database如何仅授予对 Sql Server 数据库中单个表的读取访问权限
【发布时间】:2014-03-04 10:14:56
【问题描述】:

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

已经解决了这些问题:

How do I grant read access for a user to a database in SQL Server?

Granting a SQL Server Login Access to a Database - SQL Server

best way to grant read only access to 2 tables in SQL Server 2005?

但这对我提出了一些基本问题,通过角色和用户名授予访问权限有什么区别?

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

【问题讨论】:

标签: sql-server grant user-roles


【解决方案1】:

通过用户名授予访问权限仅针对该用户。

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

【讨论】:

    【解决方案2】:

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

    CREATE LOGIN XYZ
    WITH PASSWORD = 'PASSWORD'
    

    创建XYZ的登录后,再为上面创建的登录创建一个用户

    CREATE USER xyz FOR LOGIN xyz
    

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

    GRANT SELECT ON DBNAME.TABLE_NAME TO USERNAME
    

    我为此参考的来源是

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2011-10-05
      • 1970-01-01
      • 2014-03-13
      • 2023-04-07
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多