我创建了一个数据库级角色:NonBillingRole。
CREATE ROLE NonBillingRole
然后通过以下命令授予它所有访问权限并撤销/拒绝对帐单表的访问:
REVOKE SELECT, INSERT, UPDATE, DELETE ON TblBilling TO NonBillingRole
DENY SELECT, INSERT, UPDATE, DELETE ON TblBilling TO NonBillingRole
然后我为这个角色添加了一个用户。
如果我直接尝试选择或修改表 TblBilling,这可以正常工作。但是用户可以通过任何存储过程来选择和修改表。
我的目标是创建一个角色,该角色具有对数据库的所有访问权限,包括执行存储过程,但对表 TblBilling 没有直接或间接访问权限(即使通过存储过程)。