扩展AWS MS SQL RDS数据库审计文件查询,添加服务器时区时间戳
将AWS MS SQL RDS审计日志的UTC时间转换为服务器本地时区
完全可以扩展原查询,新增本地时区时间列。SQL Server的AT TIME ZONE函数可实现UTC时间到目标时区的转换,具体修改后的查询如下:
SELECT *, -- 转换为服务器本地时区的时间(保留时区偏移) event_time AT TIME ZONE 'UTC' AT TIME ZONE '<服务器时区名称>' AS event_time_local FROM msdb.dbo.rds_fn_get_audit_file('D:\rdsdbdata\SQLAudit\*.sqlaudit', default, default)
如果不需要时区偏移,只想得到本地datetime类型的时间,可通过CAST转换:
SELECT *, CAST(event_time AT TIME ZONE 'UTC' AT TIME ZONE '<服务器时区名称>' AS DATETIME) AS event_time_local FROM msdb.dbo.rds_fn_get_audit_file('D:\rdsdbdata\SQLAudit\*.sqlaudit', default, default)
获取服务器支持的时区名称
执行以下查询可列出SQL Server支持的所有时区及UTC偏移量,从中找到服务器所在时区的名称(比如中国地区对应China Standard Time,美国东部对应Eastern Standard Time):
SELECT name, current_utc_offset FROM sys.time_zone_info;
内容的提问来源于stack exchange,提问作者Ondřej Ševčík
相关产品推荐
相关产品推荐

