向SAP Hana中的用户授予对象权限

时间:2015-12-03 00:07:01

标签: database sap privileges hana

我需要向用户授予对象权限,但我不是架构的所有者。 我尝试过使用System用户,但我也不能。 我的远景是使用Sys用户(系统除外),但它已停用,我无法用我的用户激活它。

我有没有办法向用户授予该权限?我不能要求架构的所有者这样做,因为她今天辞职了...而且我不想改变她的数据库用户的密码。

我知道在某些时候我需要创建一个新的DBAdmin用户并创建这些模式的备份,因为当我的同事的SAP用户被删除时,它将删除所有Hana用户和数据库用户用它创建和授予的对象,角色和特权。

2 个答案:

答案 0 :(得分:1)

哦,哦! 在这里删除用户非常小心,因为 - 正确写入 - 删除会产生级联效应。

此外:  您必须拥有对象的所有权或您要授予授权选项的权限。 使用SYSTEM用户无济于事,无论如何都不能使用SYS登录数据库。

由于也无法接管所有权,唯一真正的方法是找出用户创建/执行的对象和权限授予。

然后登录到用户并将授权重构为涵盖对象权限的角色。 下一步,您可以考虑创建一个非登录用户来拥有对象,然后执行用户对象的导入/导出。

最后,您可以使用对象所需的权限创建设计时角色。这允许具有ROLE ADMIN权限的用户授予/撤销权限,这使管理更容易,结构更好。

答案 1 :(得分:1)

不确定

( 
SELECT "SCHEMA_NAME",  
'' AS "OBJECT_NAME",  
'SCHEMA' AS "OBJECT_TYPE",   "SCHEMA_OWNER" as "OWNER_NAME"  
FROM "PUBLIC"."SCHEMAS"  
WHERE SCHEMA_OWNER = 'A'  UNION ALL 

SELECT "SCHEMA_NAME", "OBJECT_NAME",  
"OBJECT_TYPE", "OWNER_NAME"   FROM "PUBLIC"."OWNERSHIP"  
WHERE  
"SCHEMA_NAME" IN 
( SELECT "SCHEMA_NAME" from "PUBLIC"."SCHEMAS"  
WHERE "SCHEMA_OWNER" = 'A' )  OR "OWNER_NAME" = 'A' 
) ORDER BY "SCHEMA_NAME" ASC, "OBJECT_NAME" ASC;

你在我写的SAP HANA书中找到了这个以及许多其他有用的东西:https://www.sap-press.com/sap-hana-administration_3506/