我在SQL Server 2008 R2上。覆盖较低级别的DENY权限
我不得不在数据库级别上为用户进行DENY VIEW DEFINITION。
DENY VIEW DEFINITION TO myUser1;
这很有效,因为myUser1在查询INFORMATION_SCHEMA视图时不再取回任何行。
问题是,myUser1仍然需要查询INFORMATION_SCHEMA.PARAMETERS视图,但不能访问任何其他INFORMATION SCHEMA视图。
如果我发出REVOKE,或者授予INFORMATION_SCHEMA.PARAMETERS上的VIEW DEFINITION权限,用户仍然无法取回任何行。 我知道有更高级别的DENY,它会覆盖我在低级别上做的任何事情。 不过,有没有办法解决? 在数据库级别具有DENY VIEW DEFINITION,并且仅为一个特定的INFORMATION_SCHEMA视图覆盖它?
谢谢 乔
无论您将它放在较低级别还是更高级别(我知道的唯一例外是用户属于sysadmin角色,在这种情况下拒绝都不会被考虑),DENY总是会覆盖GRANT, 。所以我认为最好的选择是只将DENY放在那些有问题的INFORMATION_SCHEMA视图上。 –