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

如何回溯查看Azure SQL Serverless实例的暂停时间?

查看Azure SQL Serverless实例历史暂停状态的方法
  • Azure Monitor日志查询
    Azure SQL Serverless的暂停/恢复状态变更会被记录到Azure Monitor日志中,你可以通过Kusto语句筛选历史记录:

    1. 登录Azure门户,进入目标SQL Server资源的「监视」>「日志」页面
    2. 运行以下Kusto查询(可按需调整时间范围):
      AzureMetrics
      | where ResourceProvider == "MICROSOFT.SQL"
      | where MetricName == "DatabaseState"
      | where TimeGenerated between (ago(30d) and now()) // 替换为ago(7d)查看近一周
      | where Value == 0 // 0代表暂停状态,1代表在线
      | project 暂停时间=TimeGenerated, 实例名称=ResourceName, 资源组=ResourceGroup
      
    3. 可添加| where ResourceName == "你的数据库名称"来筛选特定实例
  • Azure活动日志查询
    自动暂停操作会生成活动日志条目,步骤如下:

    1. 进入SQL Server资源的「活动日志」页面
    2. 在筛选器中选择「操作名称」为「暂停数据库」,设置目标时间范围
    3. 日志条目会显示暂停的具体时间、触发原因(自动闲置触发)及资源详情
  • 批量查询脚本(PowerShell/CLI)
    针对多台实例,可通过脚本批量获取历史暂停记录:

    • PowerShell示例:
      $startTime = (Get-Date).AddDays(-30)
      $endTime = Get-Date
      Get-AzActivityLog -StartTime $startTime -EndTime $endTime | 
        Where-Object {$_.OperationName.Value -eq "Microsoft.Sql/servers/databases/pause/action"} |
        Select-Object EventTimestamp, ResourceGroupName, ResourceName
      
    • Azure CLI示例:
      az monitor activity-log list --start-time $(date -d "30 days ago" +%Y-%m-%dT%H:%M:%SZ) --end-time $(date +%Y-%m-%dT%H:%M:%SZ) --query "[?operationName.value=='Microsoft.Sql/servers/databases/pause/action'].{暂停时间:eventTimestamp, 实例名称:resourceName, 资源组:resourceGroupName}"
      

注意事项

  • 需确保账号拥有「监控读取者」或对应资源的日志访问权限
  • Azure Monitor日志默认保留90天,如需更长周期的历史数据,需手动调整日志保留策略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:44:58