Azure SQL MI数据库DROP/DELETE操作审计日志缺失及Event Hub日志可视化求助
Azure SQL MI审计日志缺失DROP/DELETE操作及Event Hub日志可视化方案
一、排查DROP/DELETE操作日志缺失的步骤
确认审计策略的事件类别覆盖
在Azure门户的SQL托管实例诊断设置中,确保勾选了SQLSecurityAuditEvents日志类别。进入实例的审计策略配置(服务器级或数据库级),检查是否包含以下操作组:- Schema modifications:覆盖DROP DATABASE、DROP TABLE等架构变更操作
- Data modifications:覆盖DELETE、UPDATE等数据变更操作
若使用T-SQL配置审计,需确保AUDIT ACTION包含DELETE ON DATABASE::[数据库名] TO [审计目标]、DROP DATABASE TO [审计目标]这类具体操作。
检查服务器级与数据库级审计策略的优先级
若部分数据库单独配置了审计策略,会覆盖服务器级策略。需确认所有数据库的审计策略都包含DROP/DELETE相关操作,或者直接使用服务器级审计统一覆盖所有数据库。排查诊断设置的筛选规则
检查诊断设置中是否添加了筛选器,排除了DROP/DELETE相关事件。比如是否设置了OperationName不等于特定值的规则,导致这类日志被过滤。验证日志写入权限与状态
查看Azure Monitor中诊断设置的运行状态,确认日志是否成功发送到Event Hub。同时确保配置审计的账号拥有SQL Security Manager或Contributor角色,能够正确应用审计策略。
二、Event Hub日志数据的查看与可视化
1. 实时查看与处理
- 使用Azure Stream Analytics创建作业,将Event Hub作为输入源,编写简单的查询过滤DROP/DELETE操作:
直接输出到Power BI,实现实时日志的可视化监控。SELECT * INTO [PowerBI输出] FROM [EventHub输入] WHERE OperationName IN ('DROP DATABASE', 'DELETE')
2. 离线存储与查询
- 启用Event Hub的Capture功能,将日志持久化到Azure Blob Storage或ADLS Gen2。随后将存储账户关联到Log Analytics工作区,通过Kusto语句检索目标日志:
AzureDiagnostics | where ResourceType == "SQLMANAGEDINSTANCES" | where OperationName in ("DROP DATABASE", "DELETE") | project TimeGenerated, OperationName, DatabaseName, ClientIP, SessionID
3. 可视化仪表盘
- 在Power BI中连接Log Analytics或Stream Analytics数据源,创建包含以下元素的仪表盘:
- 操作类型统计柱状图:展示SELECT、DROP、DELETE等操作的数量分布
- 时间趋势折线图:跟踪DROP/DELETE操作的发生频率
- 数据库操作热力图:查看不同数据库的操作分布
- 也可在Azure Dashboard中添加Log Analytics查询结果卡片,实现Azure门户内的实时监控。
内容的提问来源于stack exchange,提问作者Tahami Rizwan
相关产品推荐
相关产品推荐

