HANA无法删除全文索引:权限配置报错求助
解决HANA删除全文索引的权限问题
嘿,我来帮你搞定这个权限坑!你遇到的两个报错其实都是没找对HANA里管控全文索引权限的正确姿势,咱们一步步捋清楚:
首先说第二个报错的根源:HANA的.hdbrole配置里,根本不存在针对INDEX类型的独立权限项——全文索引是依附于表的附属对象,它的权限是通过表或者Schema层面来控制的,所以你直接写type":"INDEX"肯定会触发"无适用权限"的报错。
那正确的操作方式是什么呢?要删除全文索引,你只需要拿到索引所在表的ALTER权限,或者所在Schema的ALTER权限就行,因为删除索引属于修改表结构的操作,下面给你两种具体的配置方案:
方案1:针对特定表配置权限
如果你的全文索引index1是建在SCHEMA_NAME.TABLE_NAME这个表上,修改.hdbrole文件,把权限挂载到对应表上:
"object_privileges":[ { "name":"SCHEMA_NAME.TABLE_NAME", "type":"TABLE", "privileges":[ "ALTER" ] } ]
方案2:针对整个Schema配置权限
如果你需要操作这个Schema下的多个索引,直接给Schema加ALTER权限会更高效:
"object_privileges":[ { "name":"SCHEMA_NAME", "type":"SCHEMA", "privileges":[ "ALTER" ] } ]
配置完成后,重新部署你的角色,确保执行删除索引的用户已经被赋予了这个修改后的角色,再执行DROP FULLTEXT INDEX index1;应该就能顺利执行了。
补充一句:ALTER TABLE权限已经包含了对表上所有索引(包括全文索引)的创建、删除权限,不用额外加其他权限哦。
内容的提问来源于stack exchange,提问作者Priya
相关产品推荐
相关产品推荐

