permissions - SAP HANA 如何调试/修复“权限不足”错误
问题描述
在 SAP HANA 中,我尝试使用表类型作为输入参数调用 StoredProcedure。
其他输入参数工作得很好。但是,一旦我使用表类型,我就会得到错误:
Failed to execute action: InternalError: dberror($.hdb.Connection.executeProcedure): 258 - SQL error, server error code: 258. insufficient privilege: Not authorized at /sapmnt/ld7272/a/HDB/jenkins_prod/workspace/8uyiojyvla/s/ptime/query/checker/query_check.cc:4003
如何修复/调试这个?
在 indexserver-trace 中是:
[19984]{315590}[100/100235487] 2018-08-22 10:07:13.949679 i TraceContext TraceContext.cpp(01028) : UserName=SAPDBCTRL, ApplicationUserName=SM_EFWK, ApplicationName=ABAP:AS2, ApplicationSource=CL_SQL_STATEMENT==============CP:304, Client=010, StatementHash=31c1e1f5ca72868a541d58fc5a77596b, EppRootContextId=0050560204981EE782C14A33A16BC68E, EppTransactionId=47BF1E2CEE9D05A0E005B7CF04FCF981, EppConnectionId=5B7C13CC22061B08E10000000A1807AF, EppConnectionCounter=1, EppComponentName=AS2/sapas2ci_AS2_01, EppAction=EFWK RESOURCE MANAGER
[19984]{315590}[100/100235487] 2018-08-22 10:07:13.949656 w SQLScriptExecuto se_eapi_proxy.cc(00144) : Error <exception 71000258: Not authorized
> in preparation of internal statement: delete from _SYS_STATISTICS.STATISTICS_PROPERTIES where key='internal.check.store_results'
[19984]{315590}[100/100235487] 2018-08-22 10:07:13.949904 e SQLScript trex_llvm.cc(00936) : Llang Runtime Error: Exception::SQLException258: insufficient privilege: Not authorized
at main (line 63) ("_SYS_STATISTICS"."SHARED_STORE_USED_VALUES": line 8 col 5 (at pos 456))
解决方案
这似乎相当简单:
在客户端登录的应用程序用户(使用 SAP NetWeaver 的人)正在尝试从 SAP HANA 统计服务表中删除数据。 SM_EFWK
010
_SYS_STATISTICS.STATISTICS_PROPERTIES
NetWeaver/ABAP 程序使用与数据库用户的辅助数据库连接SAPDBCTRL
。引发错误Exception::SQLException258: insufficient privilege: Not authorized
,因为此SAPDBCTRL
数据库用户没有DELETE
分配给它的表的特权(既不是直接的,也不是通过模式或角色特权)。
如果 SQL 命令是 SAP 标准程序的一部分,那么我会检查推荐的设置是否已正确实施。如果此命令来自自定义程序,您可能希望分配权限或使用不同的技术用户,就像SAPDBCTRL
不应修改的 SAP 标准用户一样。
推荐阅读
- php - wp PHP:使用带有双反斜杠的 REGEXP 的 MySQL8 查询。我可以避免使用 \\\\ 吗?
- mongodb - 有没有更好的方法在 mongodb 文档中的索引之后对数组字段进行切片?
- pandas - Python 数据框绘图
- html - 如何访问存储所有用户信息的 JSON 文件?
- pandas - 熊猫时间(不是日期)差异而不是对象
- dcom - 调用远程 DCOM 对象的用户/安全方面 - 应如何配置 DCOM 对象以免危及系统安全
- oracle - SQLPLUS 执行一个 forloop 来插入表
- c# - 在每次触摸之间更改 X 的值
- npm - 尝试在 npm install 期间修复许多错误
- java - Spring Boot 不会创建在 @RequestMapping(value="/path") 中定义的路径