有没有办法拒绝的一组表删除权限,在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?
标签:
sql-server-2008