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

如何在Azure SQL Database中通过Log Analytics获取用户登录信息

Azure SQL Database通过Log Analytics采集用户登录信息方案

可行性结论

需求可正常实现,无需调用Azure SQL Database内部的Sys schema相关对象,通过你已列出的诊断日志类别中的InstanceAndAppAdvanced类别即可完成用户登录信息的采集。

具体实现操作步骤

  • 配置诊断日志上报规则
    进入目标Azure SQL Database的「诊断设置」管理页面,新增诊断配置项:
    • 日志类别仅需勾选InstanceAndAppAdvanced即可满足登录信息采集需求
    • 日志导出目标选择「发送到Log Analytics工作区」,绑定你用于存储日志的目标工作区
    • 保存配置后,等待5~10分钟即可完成日志流初始化,开始上报登录相关事件
  • 从Log Analytics中提取登录记录
    进入绑定的Log Analytics工作区,打开「日志」查询界面,执行以下Kusto查询语句,即可过滤出完整的用户登录记录:
AzureDiagnostics
// 过滤指定日志类别
| where Category == "InstanceAndAppAdvanced"
// 过滤登录类型事件
| where operation_name_s == "LOGIN"
// 输出需要的核心字段,可根据需求增删
| project 
    登录发生时间 = TimeGenerated,
    登录用户名 = server_principal_name_s,
    客户端IP地址 = client_ip_s,
    目标数据库名称 = database_name_s,
    客户端应用名称 = application_name_s,
    登录操作结果 = action_name_s,
    错误详情(仅失败时有值) = message_s

如果你只需要查询登录失败的记录,可以在查询语句中额外添加过滤条件:| where action_name_s == "LOGIN FAILED"。

  • 可选拓展配置
    如果你需要对登录日志做长期留存或者对接第三方审计系统,可以在诊断设置中额外配置将日志同步到Azure存储账户、事件中心,全程不需要修改Azure SQL Database的内部配置。

注意事项

  • InstanceAndAppAdvanced类别除登录事件外,还包含权限变更、角色调整等安全类操作事件,你可以通过operation_name_s字段过滤你需要的事件类型即可
  • 日志从Azure SQL Database上报到Log Analytics存在最多15分钟的延迟,属于平台正常传输逻辑
  • 整个采集流程完全基于Azure平台层面的日志能力实现,不会占用Azure SQL Database的运行资源,也不需要访问任何数据库内部的系统视图对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:36:03