如何生成Azure SQL数据库的还原操作历史记录列表?
查看Azure SQL数据库还原操作记录的方法
方法1:通过Azure活动日志查询
活动日志会记录所有Azure资源的管理类操作,包括数据库还原动作,是最直接的查询途径:
- 操作步骤:
- 登录Azure门户,找到托管
Contoso数据库的SQL服务器(注意是服务器层级,而非单个数据库)。 - 在左侧菜单选择活动日志。
- 设置筛选条件:
- 事件类别:选管理
- 操作名称:搜索并选择Restore SQL Database(中文门户对应“还原SQL数据库”)
- 时间范围:设为过去12个月
- 筛选结果会展示所有还原操作的时间、发起者、目标数据库名等信息。
- 登录Azure门户,找到托管
- Azure CLI命令查询:
替换az monitor activity-log list --resource-group <你的资源组名称> --namespace "Microsoft.Sql" --operation-name "Microsoft.Sql/servers/databases/restore/action" --start-time 2023-01-01T00:00:00Z --end-time 2024-01-01T00:00:00Z<你的资源组名称>为实际值,调整时间范围匹配需求。
方法2:通过Log Analytics查询(需提前配置诊断)
如果你的SQL服务器/数据库已将诊断日志收集到Log Analytics工作区,可通过KQL语句查询:
AzureActivity | where OperationNameValue == "Microsoft.Sql/servers/databases/restore/action" | where Resource == "Contoso" | where TimeGenerated between (ago(365d) and now()) | project TimeGenerated, Caller, ResourceGroup, Resource, Properties | sort by TimeGenerated desc
该查询会返回过去12个月内,以Contoso为源数据库的所有还原操作记录,包含操作时间、调用者等关键信息。
注意事项
- 活动日志默认仅保留90天,若要查询超过90天的记录,需提前将活动日志导出到存储账户或Log Analytics工作区。
- 即使还原后的目标数据库已被删除,活动日志中的操作记录仍会保留(只要日志本身未被清理)。
内容的提问来源于stack exchange,提问作者Jeremy Danyow
相关产品推荐
相关产品推荐

