db:my_db
方案:my_schema_1,my_schema_2
表格:
我想授予对my_schema_2中所有表的选择权。
use role securityadmin;
grant usage
on database my_db
to role dw_ro_role;
grant usage on schema my_db.my_schema_2
to role dw_ro_role;
grant select
on all tables in schema my_db.my_schema_2
to role dw_ro_role;
但是,这将授予对数据库中所有架构的访问权限。 (我认为是通过授予使用权限)实际上,如果我:
grant usage on my_db...
revoke select on all tables in my_schema_2
我仍然可以查询所有内容。
如果我取消对数据库my_db的使用,则无法查询任何内容。
my_db的所有者是sysadmin。模式的所有者是etl_tool_role。
如何允许访问者从唯一选择的模式中的表中进行选择?
答案 0 :(得分:3)
您的赠款看起来还不错,所以我想知道您如何访问/测试此赠款。
或者,也许role dw_ro_role
的有效拨款比上面显示的还要多。
如果您以仅具有role dw_ro_role
且与默认角色相同的用户身份登录数据库,则您只能访问schema my_db.my_schema_2
。