SAP HANA Database Explorer 里的 SQL 语句如何排错 trouble shoot-阿里云开发者社区

开发者社区> 开发者小助手-bz5> 正文

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

简介: SAP HANA Database Explorer 里的 SQL 语句如何排错 trouble shoot
+关注继续查看

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


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



image.png

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


image.png

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

image.png


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



image.png

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


image.png

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


image.png

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


image.png


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


image.png

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



image.png

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


image.png

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

image.png


SQLScript analysis

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



image.png

效果如下:


image.png

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


image.png

Explain plan

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


效果如下:

image.png


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 分析器的先前版本。

image.png



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


image.png

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


image.png

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


image.png

SQL trace

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


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


image.png

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


image.png

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

image.png

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

1

可以通过对以下监控视图执行选择来查看配置文件的名称、它们的内容和更改历史记录:


M_INIFILES

M_INIFILE_CONTENTS

M_INIFILE_CONTENT_HISTORY

CONFIGURATION_PARAMETER_PROPERTIES

M_CONFIGURATION_PARAMETER_VALUES

trace 文件的位置:


image.png

可以在文件中查看返回有关 HANA 实例正在使用的内存的信息的 SQL 查询。 例如,突出显示的查询就是这样一种 SQL 请求。


image.png

Expensive statements trace

检查消耗大量时间、CPU 或内存的 SQL 语句可能很重要。 以下步骤演示了如何启用昂贵的语句跟踪。


下面的 SQL 将启用昂贵语句的跟踪,设置阈值,运行一些将超过阈值的语句,然后禁用昂贵的语句跟踪。

image.png

可以在视图中找到超出昂贵语句阈值的语句列表:M_EXPENSIVE_STATEMENTS

image.png

Viewing trace files with SQL

SAP HANA 数据库提供一组监控视图,允许访问跟踪文件。 一个例子是 M_MERGED_TRACES 系统视图,它包含多个跟踪文件的内容,允许在特定时间段内跨跟踪文件执行查询。 以下说明提供了一些访问视图的示例。


可以查询有关可用跟踪文件和来自各个跟踪文件的内容的信息。

image.png

执行以下 SQL 查询以查看过去 45 分钟的条目。


image.png


SAP HANA 的 SAP Note SQL 语句集合包含一个名为 HANA_TraceFiles_Content 的查询,该查询还包括与跟踪文件中的某些字符串匹配的相关 SAP 注释。

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8454 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26472 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2760 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10888 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10249 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12110 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8698 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21608 0
2497
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载