如何查看Azure SQL Database中失败的数据操作SQL查询日志?
Azure门户查看失败SQL数据操作日志的可用工具
- Azure SQL审计(Audit)
这是最直接的查询工具,你可以在Azure门户对应SQL数据库的「安全」分类下找到审计功能,开启后所有DML操作(包括INSERT/UPDATE/DELETE)的执行结果都会被记录。你可以直接在门户的审计日志界面筛选操作结果为失败的条目,就能定位到执行出错的对应DML语句、执行时间、发起账号、客户端IP等信息,也可以自定义筛选条件缩小查询范围。 - 日志查询(Log Analytics)
如果你已经把SQL数据库的诊断日志发送到了Log Analytics工作区,可以在数据库的「监视」分类下打开「日志」界面,查询AzureDiagnostics表获取失败的DML操作记录,参考查询语句如下:
你可以根据自己的需求调整时间范围和返回字段。AzureDiagnostics | where ResourceType == "SQLDATABASES" | where Category == "SQLSecurityAuditEvents" | where action_name_s in ("INSERT", "UPDATE", "DELETE") | where succeeded_s == "false" | project event_time_t, action_name_s, statement_s, client_ip_s, server_principal_name_s, duration_milliseconds_d - 查询性能洞察(Query Performance Insight)
在数据库的「智能性能」分类下可以找到这个工具,筛选「失败查询」分类后,就能看到所有执行失败的语句统计,包括出错DML操作的出现次数、平均耗时等数据,适合批量排查高频出错的操作。 - 活动日志(Activity Log)
该工具仅能查看针对数据库实例层面的操作失败记录,数据库内部运行的DML语句出错不会记录在此,仅作为补充排查工具使用。
内容的提问来源于stack exchange,提问作者Sergio Solorzano
相关产品推荐
相关产品推荐

