You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Database审计未捕获登录失败,求助排查原因

Azure SQL数据库登录失败审计抓不到DBAF事件?先查这几点

先排查配置层面的问题

  • 别搞混服务器级和数据库级审计
    登录失败(DBAF)属于服务器级操作,如果你只配置了数据库级审计,大概率抓不到这个事件——数据库级审计只能捕获库内的操作,服务器端的登录尝试不在它的覆盖范围内。必须配置服务器级审计策略,才能捕获这类跨数据库的登录事件。

  • 确认审计事件类别真的勾选对了
    别光看信息框提示,要实打实检查审计设置里的事件:不管是服务器还是数据库级审计,都要确保勾选了「登录失败」(Failed logins)这个类别。有些版本里,“登录事件”组需要单独勾选,别漏了。

  • 看你的登录失败场景是不是特殊情况

    • 如果用的是Azure AD账号登录失败,要确认审计策略有没有包含Azure AD登录事件的捕获选项;
    • 如果是本地SQL账号,要是因为没有数据库访问权限导致失败,触发的可能不是DBAF,而是数据库内的权限拒绝事件,这类事件的action_id不是DBAF,得换个过滤条件查。

验证方法

  1. 先建一个服务器级审计策略,勾选「登录失败」,等15分钟(Azure审计日志有延迟)再触发登录失败操作,看看能不能抓到DBAF;
  2. 用这个查询直接查审计日志(替换成你的存储路径):
SELECT action_id, succeeded, session_server_principal_name, event_time
FROM sys.fn_get_audit_file('https://<你的存储账户>.blob.core.windows.net/<容器>/<审计文件路径>', DEFAULT, DEFAULT)
WHERE action_id IN ('DBAS', 'DBAF')
ORDER BY event_time DESC;
  1. 检查账号权限:如果你的目标账号只是数据库用户,没有服务器级登录名,那登录失败可能是服务器端直接拒绝,这时候得确认服务器级审计有没有覆盖这类情况。

是不是bug?

如果上面的排查都做了,服务器级审计还是抓不到DBAF,那可能是Azure SQL的服务问题。先去Azure状态页看看有没有相关故障,要是没有就提交支持工单,把审计配置截图、失败事件的时间戳和账号信息给微软工程师,让他们查。

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:27:08