全部產品
Search
文件中心

AnalyticDB:SQL審計

更新時間:Jun 09, 2026

SQL審計功能可以即時記錄資料庫DML和DDL操作資訊,並提供資料庫操作資訊的檢索功能。

使用限制

SQL審計日誌不記錄以下操作:

  • INSERT INTO VALUES

  • REPLACE INTO VALUES

  • UPSERT INTO VALUES

開啟/關閉SQL審計

  1. 登入雲原生資料倉儲AnalyticDB MySQL控制台,在左上方選擇叢集所在地區。在左側導覽列,單擊集群清單,然後單擊目的地組群ID。

  2. 進入SQL審計頁面。

    • 企業版、基礎版及湖倉版 叢集,在左側導覽列,單擊集群管理 > SQL審計

    • 數倉版叢集,在左側導覽列,單擊資料安全,然後單擊SQL審計

  3. 單擊右側SQL審計配置

  4. 在彈出的對話方塊中,選擇並單擊確定

  5. 如不再使用SQL審計功能,可以重複步驟1~4,開啟SQL審計配置彈窗,選擇

    重要

    SQL審計功能關閉後,SQL審計日誌會被清空。請先查詢和匯出SQL審計日誌,再關閉SQL審計功能。當再次開啟審計日誌,審計日誌將從最近一次開啟審計日誌的時間開始展示。

查詢和匯出SQL審計日誌

SQL審計頁面,使用者可以根據SQL的操作類型執行狀態等條件查詢特定時間段內的SQL審計內容。

說明
  • 僅支援查詢最近30天內的SQL審計內容。超過30天,查詢為空白。

  • 單次查詢時間範圍不能超過24小時。若需要儲存當前頁面內容至本地,單擊匯出當前頁即可。

常見問題

為什麼INSERT OVERWRITE語句會記錄兩條審計日誌?

INSERT OVERWRITE語句是在AnalyticDB for MySQL內部非同步執行的。接入層節點負責將查詢任務分配到不同的儲存節點,並將最終結果給用戶端。因此審計日誌不僅記錄發起請求的用戶端IP,還會記錄AnalyticDB for MySQL接入層節點的IP。

為什麼SQL審計日誌中查不到DROP語句?

當叢集開啟了表資源回收筒功能時,DROP語句不會寫入SQL審計日誌。您可以通過以下命令查詢當前叢集表資源回收筒的開啟狀態:

SHOW ADB_CONFIG KEY=DROP_FORCE;

  • 傳回值為false:表資源回收筒功能已開啟,叢集會將DROP語句改寫後轉入資源回收筒,因此審計日誌中查不到該DROP語句。

  • 傳回值為true:表資源回收筒功能未開啟,DROP語句會正常記錄到SQL審計日誌中。

通過DTS同步資料後,為什麼審計日誌中看不到UPDATE語句?

DTS在同步RDS資料時,會將源端的UPDATE語句改寫為REPLACE INTO VALUESDELETE+INSERT組合後寫入目標端。由於REPLACE INTO VALUES語句不在SQL審計日誌的記錄範圍內(詳情請參見本文使用限制),因此審計日誌中無法直接看到UPDATE語句。

相關API

產品系列

API

企業版、基礎版及湖倉版

修改SQL審計日誌設定

查詢SQL審計日誌

數倉版

查詢叢集審計日誌設定

修改審計日誌設定

查詢叢集的SQL審計日誌