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

如何批量获取所有Azure SQL Database的备份保留策略?

集中获取Azure SQL Database备份保留策略的方法

方法1:使用Azure Resource Graph批量查询

这是跨订阅批量获取信息的最快方式,无需逐个遍历资源,直接在Azure门户的Resource Graph Explorer中执行以下Kusto查询:

Resources
| where type == 'microsoft.sql/servers/databases'
| extend backupRetentionDays = properties.retentionPolicy.retentionDays,
         backupStorageRedundancy = properties.retentionPolicy.backupStorageRedundancy
| project 
    SubscriptionId,
    ResourceGroup,
    ServerName = split(id, '/')[8],
    DatabaseName = name,
    BackupRetentionDays = backupRetentionDays,
    BackupStorageRedundancy = backupStorageRedundancy
| sort by ResourceGroup, ServerName, DatabaseName
  • 支持通过添加| where subscriptionId == '订阅ID'或| where resourceGroup == '资源组名称'筛选特定范围
  • 查询结果可直接导出为CSV/Excel格式,用于审计或合规性确认

方法2:PowerShell批量导出脚本

以下脚本可批量遍历指定订阅下的所有SQL数据库,提取备份保留策略并导出为报告:

# 登录Azure账号(首次运行需执行)
Connect-AzAccount

# 可选:指定目标订阅,多订阅用逗号分隔
# $targetSubscriptions = "订阅ID1", "订阅ID2"
# Set-AzContext -Subscription $targetSubscriptions

# 获取所有SQL数据库实例
$sqlDatabases = Get-AzSqlDatabase -ServerName * -ResourceGroupName *

# 整理备份保留策略信息
$backupReport = $sqlDatabases | Select-Object `
    @{Name="订阅ID"; Expression={$_.SubscriptionId}},
    @{Name="资源组"; Expression={$_.ResourceGroupName}},
    @{Name="SQL服务器名称"; Expression={$_.ServerName}},
    @{Name="数据库名称"; Expression={$_.DatabaseName}},
    @{Name="备份保留天数"; Expression={$_.RetentionPolicy.RetentionDays}},
    @{Name="备份存储冗余类型"; Expression={$_.RetentionPolicy.BackupStorageRedundancy}}

# 导出为CSV报告文件
$backupReport | Export-Csv -Path "AzureSQL备份保留策略报告.csv" -NoTypeInformation -Encoding UTF8

# 控制台预览结果
$backupReport | Format-Table -AutoSize
  • 可修改Get-AzSqlDatabase的参数(如-ResourceGroupName "指定资源组")缩小查询范围
  • 可将脚本加入任务计划,定期自动生成合规报告

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:06:25