MS SQLServer:除了单个用户之外,如何拒绝对每个人进行表修改?

时间:2011-07-20 06:38:04

标签: sql-server sql-server-2008 permissions

我有一张桌子,我想拒绝对除一个用户以外的所有用户进行修改。一个显而易见的解决方案是创建一个特殊的拒绝角色并将所有其他角色添加到其中。但在这种情况下,新角色仍然可以修改表,除非添加到此角色。设置此类权限的体面方式是什么?

1 个答案:

答案 0 :(得分:1)

您应该仅对一个特殊的“写入”角色授予权限(INSERT,UPDATE,DELETE)。除了SELECT

之外没有其他权利

没有必要拒绝,因为默认情况下用户没有权限:只有在您首先获得权利时才需要DENY。

保持简单。

注意:

  • 如果通过存储过程(具有相同所有者)进行写入,则不会检查权限
  • dbo等将始终拥有权限(除非您使用触发器,但dbo可以禁用或删除它)