SAP HANA Database Explorer里的SQL语句如何排错trouble shoot

2022-03-11 00:00:00 查询 语句 执行 文件 跟踪

Troubleshoot SQL with SAP HANA Database Explorer

调试器可用于帮助查找过程、函数或匿名块中的问题。 以下步骤演示了如何使用调试器来调试过程。

选中某个存储过程,右键,选择 Open for debugging:



从调试器附加选项对话框中,确保选择了 SQL 控制台连接。


通过单击行号旁边的在过程中设置断点。 行号旁边将出现一个复选标记,表示已设置断点。


在数据库浏览器中右键单击需要调试的存储过程,然后选择 Generate Call Statement 或 Generate Call Statement with UI。



该过程的调用语句将在新的 SQL 控制台中打开。 提供输入参数值,例如 10,然后运行该语句。


当断点触发时,执行将暂停。


可以检查使用的任何变量的当前值。 可以通过单击上面突出显示的编辑按钮来修改某些局部和全局变量类型的值。



可以使用调试器顶部的导航图标继续执行。 可以使用分离图标停止调试会话。


右键菜单里,还能使用 Report Code Coverage 查看代码执行覆盖率:



代码覆盖率报告显示命中的语句数。


该报告还直观地显示了命中的语句和未命中的语句。


SQLScript analysis

SQLScript 代码分析器可用于识别指示代码质量、安全性或性能问题的模式。



效果如下:


双击某个问题将打开另一个包含该过程的 SQL 的选项卡,该问题将突出显示。


Explain plan

解释计划以表格形式提供编译后的计划,而不执行它。 当很难在不引起问题的情况下重现问题时,这在分析某些情况时非常有用。

效果如下:


SQL Analyzer

SQL 分析器提供了如何执行分析的 SQL 语句的图形视图,这可以提供对查询执行的更多见解。 新版本可用作 Visual Studio Code 的扩展或 SAP Business Application Studio 中的附加扩展 (SAP Performance Tools)。 可以在 SAP HANA 数据库浏览器中生成一个 .plv 文件,然后可以在 SQL Analyzer 中打开该文件。 内部部署 SAP HANA 数据库浏览器、内部部署 SAP HANA 驾驶舱以及 SAP HANA 工作室中还包含 SQL 分析器的先前版本。



可以在 Visual Studio Code 里安装对应的插件来查看分析文件:


显示前 5 个主要运算符、前 10 个关键路径运算符、编译和执行 SQL 语句所花费的时间、峰值内存、结果记录数和访问表的信息。


切换到 PLAN GRAPH 选项卡以直观地查看查询执行的详细信息。


SQL trace

在调试问题或识别特定应用程序正在使用的 SQL 语句时,SQL 跟踪会很有帮助。 以下步骤演示了启用 SQL 跟踪,然后使用 SAP HANA 数据库资源管理器查看生成的跟踪文件的示例。

右键菜单里通过 Show overview 进行查询:


为选定的数据库显示不同的信息和统计数据。


要确定为填充概览的各个字段(例如使用的内存)而执行的 SQL 请求,请通过在 SQL 控制台中运行以下 SQL 语句来启用 SQL 跟踪。

ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('sqltrace', 'trace') = 'on', ('sqltrace', 'application') = 'sap_xsac_hrtt', ('sqltrace', 'user') = 'DBAdmin' WITH RECONFIGURE;

相关文章