如果在 SqlServer 中创建了一个自定义角色,我将其添加到 db__denydatareader 和 db__denydatawriter 角色中。我认为通过 db 并授予所有 neccersary 存储过程的 exec 权限。
一切正常,调用这些 sps 将运行良好。一个例外是使用 sp_executesql 执行动态 sql 的存储过程。这失败了
The SELECT permission was denied on the object 'listing_counter', database 'Cannla', schema 'dbo'.
有什么方法可以授予角色运行此查询的权限而不授予它对基础表的选择访问权限?
我想我想要做的是在 sys.sp_executesql 上授予 exec 权限,但仅限于特定情况。