sp_displayroles 存储过程返回被授予指定系统特权、系统角色、用户定义角色或用户名的所有角色,或者显示整个角色层次树。
报告包含角色名称、父角色名称、授予类型(是否具有管理特权)和角色层次的级别。
对您自己的用户 ID 执行 sp_displayroles 不需要系统特权。对其他用户执行该过程需要具有 MANAGE ROLES 系统特权。要执行角色或系统特权的过程,需要拥有对指定角色或系统特权的管理特权。
下例返回为发出该命令的用户授予的所有角色。
CALL sp_displayroles();此示例返回授予 SYS_SPATIAL_ADMIN_ROLE 系统角色的系统特权列表:
CALL sp_displayroles( 'SYS_SPATIAL_ADMIN_ROLE' );role_nameparent_role_namegrant_typerole_levelMANAGE ANY SPATIAL OBJECT(NULL)NO ADMIN1 此示例返回授予 SYS_SPATIAL_ADMIN_ROLE 的系统特权列表,其中包括角色层次中该角色上面的所有角色:
CALL sp_displayroles( 'SYS_SPATIAL_ADMIN_ROLE', 'expand_up');role_nameparent_role_namegrant_typerole_levelSYS_AUTH_DBA_ROLEdboADMIN-3SYS_AUTH_SSO_ROLESYS_AUTH_DBA_ROLEADMIN-3MANAGE ROLESSYS_AUTH_REMOTE_DBA_ROLEADMIN-2MANAGE ROLESSYS_AUTH_SSO_ROLEADMIN-1MANAGE ROLESSYS_REPLICATION_ADMIN_ROLENO ADMIN-1SYS_SPATIAL_ADMIN_ROLEMANAGE ROLESADMIN0