如何在SAP HANA中将max_table_count_in_statement设置为8192
SAP HANA MAXIMUM_NUMBER_OF_TABLES_IN_STATEMENT参数配置解决方案
报错原因
nameserver.ini的全局系统级配置仅允许在系统数据库(SYSTEMDB)中修改,你当前登录操作的是租户数据库(Tenant Database),无该配置的修改权限。
正确操作步骤
- 切换数据库连接到SYSTEMDB,使用具备系统配置修改权限的用户(如SYSTEM用户)登录。
- 执行全局生效的配置修改语句:
ALTER SYSTEM ALTER CONFIGURATION ('nameserver.ini', 'SYSTEM') SET ('sql', 'max_table_count_in_statement') = '8192' WITH RECONFIGURE;
若你仅需要修改指定租户的该参数,无需全局生效,可在SYSTEMDB中执行针对特定租户的配置语句,替换语句中的
<租户DB名>为实际租户名称即可:ALTER SYSTEM ALTER CONFIGURATION ('nameserver.ini', 'DATABASE', '<租户DB名>') SET ('sql', 'max_table_count_in_statement') = '8192' WITH RECONFIGURE;
- 配置完成后执行如下语句验证参数是否生效:
-- 验证系统限制参数值 SELECT * FROM M_SYSTEM_LIMITS WHERE LIMIT_NAME = 'MAXIMUM_NUMBER_OF_TABLES_IN_STATEMENT'; -- 验证配置文件存储的参数值 SELECT * FROM M_INIFILE_CONTENTS WHERE FILE_NAME = 'nameserver.ini' AND SECTION = 'sql' AND KEY = 'max_table_count_in_statement';
若查询返回的参数值为你设置的8192,即代表配置生效,此时返回租户数据库即可正常使用该配置。
内容的提问来源于stack exchange,提问作者Andrew Ramnikov
相关产品推荐
相关产品推荐

