我是HANA数据库的新手。我只是想通过Eclipse系统编辑器在HANADB中创建新的User。作为用户创建的一部分,我只选择了以下角色。
sap.hana.xs.lm.roles::开发者
但是,由于执行查询select role_name from",它显示了以下角色;公共"有效_;其中USER_NAME="TEST_USER">
角色名称
公共
sap.hana.xs.lm.roles::开发者
sap.hana.uis.db::SITE_USER
sap.hana.xs.lm.roles::显示
sap.hana.xs.lm.pe.roles::pe_Display
为什么向用户添加其他角色甚至没有选择?
SAP HANA中的角色是权限和其他角色的集合。这可能导致一个角色包含多个其他角色,每个角色都可以包含其他角色和权限。这样,您就有了一个直接和间接分配给用户帐户的角色和权限的层次结构。
您查询的系统视图是EFFECTIVE_PRIVILEGES
。它唯一最重要的功能是展开所有直接分配给和的角色(有效地通过角色特权层次结构(,并返回所有这些分配
这种层次结构的"展开"在纯SQL中并不容易/高效,因此此系统视图将此特殊功能作为内置功能提供。
预定义的角色sap.hana.xs.lm.roles::Developer
包含其他几个角色(如查询结果所示(
要进行双重检查,您甚至可以通过导航到sap.hana.xs.lm.roles
包来查看HANA XS存储库中的角色定义,因为此角色是作为设计时工件提供的。
如果您实际上只想看到直接将角色/权限分配给用户(或角色(,则使用系统视图GRANTED_ROLES
或GRANTED_PRIVILEGES
可以实现这一点。