本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢視稽核日誌
稽核日誌被儲存於 D:\rdsdbdata\SQLAudit。
SQL Server 完成稽核日誌檔案的寫入後 — 當檔案到達大小限制時 —Amazon RDS 會將檔案上傳到 S3 儲存貯體。如果啟用了保留,Amazon RDS 會將檔案移動到保留資料夾內︰D:\rdsdbdata\SQLAudit\transmitted。
如需設定保留的相關資訊,請參閱 將 SQL Server 稽核新增至資料庫執行個體選項。
稽核記錄會保存在資料庫執行個體上,直到稽核日誌檔案被上傳為止。您可以執行下列命令,以查看稽核記錄。
SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\*.sqlaudit' , default , default )
您可以使用相同的命令,將篩選器變更為 D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit,以查看保留資料夾中的稽核記錄。
SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit' , default , default )
在 CloudWatch 中檢視稽核日誌記錄
如果您選擇將稽核日誌上傳至 CloudWatch,您可以依照下列步驟存取日誌記錄 (JSON 格式)。
在 CloudWatch 中檢視稽核日誌
-
透過 https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 -
在左側導覽窗格中,選擇日誌、日誌管理。
-
在日誌群組搜尋方塊中輸入您的資料庫執行個體名稱。
-
選擇適當的日誌群組。
-
在日誌串流索引標籤下,選擇日誌串流。
或者,您可以使用 AWS CLI 來查詢日誌串流。下列範例會擷取稽核日誌事件,並將其匯出至 CSV 檔案。
# Parameters # ----------- LOG_GROUP="/aws/rds/instance/<your-db-instance-id>/sqlaudit" START_DATE="2026-06-18" END_DATE="2026-06-19" OUTPUT_FILE="sql_audit_extract.csv" # Convert dates to epoch milliseconds # ----------------------------------- START_TIME=$(date -d "${START_DATE}" +%s)000 END_TIME=$(date -d "${END_DATE}" +%s)000 # Fetch log events # ---------------- # Note: --no-paginate returns all results in a single call. # For large result sets, consider using --page-size or manual pagination. RESPONSE=$(aws logs filter-log-events \ --log-group-name "${LOG_GROUP}" \ --start-time "${START_TIME}" \ --end-time "${END_TIME}" \ --output json \ --no-paginate) # Parse and export to CSV # Extract the 'message' field from each event (JSON formatted messages), # then convert to CSV using jq. # Get CSV headers from the first record # ------------------------------------- HEADERS=$(echo "${RESPONSE}" | jq -r ' [.events[0].message | fromjson | keys[]] | @csv ') # Write headers to output file # ---------------------------- echo "${HEADERS}" > "${OUTPUT_FILE}" # Write all records to output file # -------------------------------- echo "${RESPONSE}" | jq -r ' .events[].message | fromjson | [.[]] | @csv ' >> "${OUTPUT_FILE}" # Script execution summary # ------------------------- RECORD_COUNT=$(echo "${RESPONSE}" | jq '.events | length') echo "Exported ${RECORD_COUNT} records to ${OUTPUT_FILE}"