db_datareader
我使用角色仅授予一个数据库用户读取权限。现在,我需要授予同一用户仅更新一个表 (PROD.CustomerRelations) 的权限。
有什么办法可以授予此权限吗?
编辑:我尝试了以下方法,但仍然无法更新。我正在通过 Microsoft Access 访问 SQL Server 数据库。
我猜上面的方法是行不通的,因为我用Deny
了 for Delete
, Update
and Insert
in the screenDatabase Properties -> Permissions -> Explicit permissions for [domain\user1]
将 object::PROD.CustomerRelations 的更新授予 db_user
https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-object-permissions-transact-sql?view=sql-server-2017
拒绝优先。所以如果你在任何层级有拒绝,那么你就不能进行操作。(有一个例外,那就是 SQL Server 不检查 DENY 的系统管理员。)因此,您不能很简单地设置 DENY。您需要在更精细的级别指定 DENY(或者首先不指定 GRANT。)