(本文档仅供参考)
问题
很多时候我们需要获取报表的执行SQL,应该如何获取?可以通过什么方式获取报表的执行SQL?
解决方案
方案一:用户日志
注:此方案适用于直接查看打开报表的SQL,较直观
具体步骤如下:
1、需先清空系统缓存(因有缓存情况下,不会重新将SQL拿到数据库中执行则无法获取到执行SQL)
2、【用户】-【用户日志】-【开启监控】【开启监控】;或者访问该地址:http://ip:端口/smartbi/vision/userlogs.jsp
3、打开报表
4、回到【用户日志】-【服务器端】查看报表执行SQL
方案二:SQL监控
注:此方案适用于用于管理员权限查看全局执行SQL,SQL较多的情况下,需要根据时间进行查找注:此方案适用于用于管理员权限查看全局执行SQL,SQL较多的情况下,需要根据时间进行查找
操作步骤如下:
1、需先清空系统缓存(因有缓存情况下,不会重新将SQL拿到数据库中执行则无法获取到执行SQL)
2、打开报表
3、【用户】-【系统监控】,进入【SQL监控】查看执行SQL
【系统监控】,进入【SQL监控】/【SQL/MDX监控】查看执行SQL
如下图,V10以前的版本为【SQL监控】
如下图,V10及之后的版本为【SQL/MDX监控】
提示 |
---|
1、如若有清空按钮,在SQL较多的情况下可以考虑点击右上角的清空,再去打开报表,之后再回到监控页面刷新,获取最新的SQL: 2、如若是需要查看其他用户的执行SQL,如有会话选择下拉框,也可选择对应的会话,再去由对应用户操作后获取执行SQL: |
方案三:Olap监控中获取
在V10及之后的版本中可以通过Olap监控获取。此处主要是可以看到SQL和MDX的具体耗时情况。
需要先参考此wiki的方式将Olap监控添加到监控界面:OLAP监控管理界面添加到系统监控页面
【用户】-【系统监控】-【Olap监控】,可以查看【SQL监控】、【MDX查询监控】以及【MDX运行示例】
通常是可以在【MDX查询监控】中查看是SQL执行耗时以及MDX执行耗时,也可从此处获取到具体执行的SQL语句、MDX语句。
Viewtracker |
---|