用过 Azure SQL Database Serverless(无服务器) 计算层的朋友,大概率都遇到过这种让人抓狂的场景:
明明没人在用数据库,它怎么又自己「醒」了?
想靠 Serverless 的自动暂停省计算费,结果账单比预期高不少……
以前,要排查 Serverless 数据库被自动唤醒的原因,基本全靠猜——翻日志、对时间、手动关联操作记录,费时费力还经常找不准。
微软终于把这个能力做出来了:Azure Monitor Activity Log 现在可以直接告诉你,是谁把你的 Serverless 数据库叫醒的。
先回顾一下:Serverless 是怎么暂停和恢复的?
Azure SQL Database 的 Serverless 计算层级会根据工作负载自动伸缩计算资源,按实际使用时间计费(精确到秒)。
在通用目的(General Purpose)服务层级中,Serverless 还支持一个关键特性:当数据库空闲一段时间后,会自动暂停(Auto-Pause)。暂停期间只收存储费,计算费用为零。
听起来很美好对吧?数据库越闲,省得越多。
但问题是——数据库不会一直睡着。以下情况都会触发自动恢复(Auto-Resume):
| 触发原因 | 说明 | |---------|------| | 用户登录连接 | 任何新的数据库连接请求 | | 漏洞评估扫描 | 安全合规类扫描任务 | | 安全配置变更 | 比如修改动态数据脱敏规则 | | 服务端更新 | 平台自身的维护和更新操作 | | 其他管理操作 | 各种系统级或管理类操作 |
新功能:Activity Log 直接暴露自动恢复原因
这次更新的核心价值就一句话:
你不再需要猜了。Azure Monitor Activity Log 会直接记录每次自动恢复的原因和耗时。
具体来说:
- 事件类型:Resume Databases(恢复数据库)
- 状态过滤:查看 Succeeded(成功)状态的事件
- 原因位置:事件的 Caller 属性中包含具体的触发原因
- 耗时信息:EventProperties 中记录从触发到恢复完成的延迟
举个例子:
你的 Serverless 数据库因为一次漏洞评估扫描被自动恢复了,Activity Log 里会清清楚楚地写明:
- 触发原因:Vulnerability Assessment(漏洞评估)
- 恢复耗时:约 38 秒
一目了然。
这个功能对你有什么实际价值?
1. 优化访问模式,真正省下钱来
知道什么在触发恢复,才能针对性地优化。比如:
- 如果是定时备份任务触发的,可以考虑调整执行窗口
- 如果是监控探针频繁连接导致的,调整探针频率或改用轻量检测方式
- 如果是安全扫描引起的,协调扫描计划与业务低峰期对齐
2. 让数据库「睡」得更久
Serverless 省钱的秘诀就是:能暂停就尽量保持暂停状态。 通过分析 Activity Log 中的恢复原因,你可以识别出那些不必要的唤醒操作,逐一排除或优化。
3. 排查成本异常的好帮手
当你发现某段时间 Serverless 计算费用异常时,回看 Activity Log 就能快速定位是不是某个新部署的服务、新加的监控或者安全策略变更导致的。
怎么使用?
方法一:Azure Portal
- 打开 Azure Portal → 你的 SQL Database
- 左侧菜单选择 Activity Log(活动日志)
- 筛选条件:
- 操作名称:Resume Databases
- 状态:Succeeded
- 点击具体事件即可看到 Caller(触发原因)和 EventProperties(延迟信息)
方法二:Azure CLI / PowerShell / REST API
对于有自动化运维需求的团队,可以通过程序化方式查询这些事件,集成到你自己的成本监控告警体系中。
国内用户特别关注
| 关注点 | 说明 | |--------|------| | 中国区可用性 | Azure Monitor Activity Log 在 Azure 中国区完全可用,无差异 | | 与阿里云RDS Serverless对比 | 阿里云 RDS MySQL/PG 的 Serverless 也支持自动启停,但粒度和可观测性与 Azure SQL 有差异。Azure 这次的 Activity Log 集成在可观测性上领先一步 | | 与腾讯云CDB对比 | 腾讯云 CDB 目前没有完全对标 Serverless 的产品形态(主要基于固定规格),这一点 Azure 更灵活 | | 成本敏感场景推荐 | 对于开发/测试环境、间歇性业务(比如白天用晚上停)、低流量应用,Serverless + 这个诊断能力 = 成本控制利器 |
总结
这个更新虽然不算大功能发布,但解决的是一个真实且高频的痛点。
如果你在用或打算用 Azure SQL Serverless,记住一件事:开通 Activity Log 监控 Resume Databases 事件。这可能是帮你把计算费再砍一刀的最简单方法。
原文链接:https://techcommunity.microsoft.com/t5/azure-sql-blog/identify-causes-of-auto-resuming-serverless-workloads-in-azure/ba-p/4452741 发布日期:2025-12-16


