20212021. 7. 16. 14:20

Azure SQL Database, Azure SQL Managed Instance, SQL Server 에서 감사(Audit) 로그를 설정하면 설정된 Time zone 과 상관없이 감사 로그의 시간은 UTC 기준으로 기록됩니다. 아래와 같은 방법으로 쿼리를 사용해서 감사 로그를 조회한다면 시간을 간단히 KST로 변환하여 확인할 수 있습니다. 

아래 쿼리를 통해 로그가 기록된 파일명을 확인합니다. 
SELECT audit_file_path, * FROM sys.dm_server_audit_status 

위 쿼리 결과에서 아래와 유사한 형태의 로그 파일 경로를 반환하게 됩니다.
https://laigo.blob.core.windows.net/audit/sqldb/master/Audit_NoRetention/2021-07-16/01_00_01_327_0.xel

event_time 컬럼값을 아래 convert 함수를 사용하여 KST로 변환하면 조회되는 결과에 대해서 변환된 시간을 확인할 수 있습니다.   

SELECT event_time, convert(datetimeoffset, event_time) AT TIME ZONE 'Korea Standard Time' AS 'event_time (KST)'
   , action_id, statement
  , database_name
  , server_principal_name

FROM fn_get_audit_file(https://laigo.blob.core.windows.net/audit/sqldb/master/Audit_NoRetention/2021-07-16/01_00_01_327_0.xel , DEFAULT , DEFAULT);


[참고자료]
SQL Database audit log format 
https://docs.microsoft.com/en-us/azure/azure-sql/database/audit-log-format


작성자: Lai Go / 작성일자: 2021.07.16 

 

Posted by Lai Go