我们也不能否认,从特定的表中删除?(Can we deny delete from specific

2019-10-17 10:51发布

有没有办法拒绝的一组表删除权限,在SQL Server的特定用户2008年。我想,用户无法从数据库中的一些表中删除数据,不希望改用触发了特定的表原因我有90个表??

Answer 1:

绝对!

DENY DELETE ON (YourTableNameHere) TO YourUserNameHere

见的精彩和丰富的MSDN联机丛书文档了解更多详情!

如果你想否认DELETE上的数据库中的所有表的权限,你可以使用:

DENY DELETE TO YourUserNameHere

或者,如果你在该表中schematas分组这样的方式来构造数据库,那么你也可以拒绝来自特定架构的用户。

如果你还没有分组的90个表到一个单独的模式(或二,三schematas),再有就是,一旦某地的许可申请表90 没有简单的,神奇的方式 。 这是每要么所有的表 ,一个特定的模式,或特定数据库对象(如表) DENY语句。

更新:您可以随时使用的系统目录视图生成那些DENY语句给你,然后用那些你需要:

SELECT 
    'DENY DELETE ON ' + t.NAME + ' TO (youruser)'
FROM sys.tables t

这将产生作为其输出(例如在SQL Server Management Studio中)声明否认名单DELETE从您的用户权限。 这些行复制到一个文本编辑器,删除那些你不需要的行-有你有你的长名单DENY语句!



文章来源: Can we deny delete from specific tables?