日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2023/12/19 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP HANA Database Explorer 里的 SQL 语句如何排错 trouble shoot 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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;

可以通過對以下監控視圖執行選擇來查看配置文件的名稱、它們的內容和更改歷史記錄:

  • M_INIFILES
  • M_INIFILE_CONTENTS
  • M_INIFILE_CONTENT_HISTORY
  • CONFIGURATION_PARAMETER_PROPERTIES
  • M_CONFIGURATION_PARAMETER_VALUES

trace 文件的位置:

可以在文件中查看返回有關 HANA 實例正在使用的內存的信息的 SQL 查詢。 例如,突出顯示的查詢就是這樣一種 SQL 請求。

Expensive statements trace

檢查消耗大量時間、CPU 或內存的 SQL 語句可能很重要。 以下步驟演示了如何啟用昂貴的語句跟蹤。

下面的 SQL 將啟用昂貴語句的跟蹤,設置閾值,運行一些將超過閾值的語句,然后禁用昂貴的語句跟蹤。

ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'enable') = 'on' WITH RECONFIGURE; ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'threshold_memory') = '41943040' WITH RECONFIGURE; -- 40 MB ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'threshold_duration') = '3000000' WITH RECONFIGURE; -- 3 secCALL HOTEL.RESERVATION_GENERATOR(1000); --consumes more than 40 MB of memoryDO BEGIN-- Wait for a few secondsUSING SQLSCRIPT_SYNC AS SYNCLIB;CALL SYNCLIB:SLEEP_SECONDS( 3 ); --runs for longer than 3 seconds-- Now execute a querySELECT * FROM M_TABLES; END;ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'DATABASE') SET ('expensive_statement', 'enable') = 'off' WITH RECONFIGURE;

可以在視圖中找到超出昂貴語句閾值的語句列表:M_EXPENSIVE_STATEMENTS

select TOP 2 DURATION_MICROSEC/1000000, CPU_TIME/1000000, MEMORY_SIZE/1048576, START_TIME, RECORDS, STATEMENT_STRING from M_EXPENSIVE_STATEMENTS order by start_time desc;

Viewing trace files with SQL

SAP HANA 數據庫提供一組監控視圖,允許訪問跟蹤文件。 一個例子是 M_MERGED_TRACES 系統視圖,它包含多個跟蹤文件的內容,允許在特定時間段內跨跟蹤文件執行查詢。 以下說明提供了一些訪問視圖的示例。

可以查詢有關可用跟蹤文件和來自各個跟蹤文件的內容的信息。

SELECT * FROM M_TRACEFILES; SELECT * FROM M_TRACEFILE_CONTENTS WHERE HOST = 'XXXXXXXX' AND FILE_NAME='XXXXXXXX.XXX';

執行以下 SQL 查詢以查看過去 45 分鐘的條目。

SELECT SERVICE_NAME, TIMESTAMP, TRACE_LEVEL, COMPONENT, SOURCE_FILE_NAME, TRACE_TEXT FROM M_MERGED_TRACES WHERE TIMESTAMP > ADD_SECONDS (TO_TIMESTAMP (CURRENT_TIMESTAMP), -1*60*45) AND TIMESTAMP < CURRENT_TIMESTAMP ORDER BY TIMESTAMP;

SAP HANA 的 SAP Note SQL 語句集合包含一個名為 HANA_TraceFiles_Content 的查詢,該查詢還包括與跟蹤文件中的某些字符串匹配的相關 SAP 注釋。

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的SAP HANA Database Explorer 里的 SQL 语句如何排错 trouble shoot的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。