如何用Azure PowerShell遍历数据库列表配置长期保留备份
批量配置Azure SQL数据库长期备份保留策略(从TXT读取数据库名)
我之前也碰到过一模一样的场景:已经通过T-SQL导出了SQL实例上的数据库列表到TXT文件,要使用Set-AzSqlDatabaseBackupLongTermRetentionPolicy cmdlet给这些Azure SQL数据库批量配置长期保留备份。手动指定单个数据库名的时候语法完全没问题,但一开始就是搞不清怎么循环读取TXT里的数据库名作为-DatabaseName参数传入,后来终于找到了简洁可行的方案:
# 读取TXT文件中的数据库列表 $dbNames = Get-Content "C:\DEV\testfile.txt" # 遍历每个数据库名,批量配置长期保留策略 foreach ($dbName in $dbNames){ Set-AzSqlDatabaseBackupLongTermRetentionPolicy ` -ServerName $serverName ` -DatabaseName $dbName ` -ResourceGroupName $resourceGroup ` -WeeklyRetention P53W ` -MonthlyRetention P48M ` -YearlyRetention P10Y ` -WeekOfYear 52 }
简单说明:
- 首先用
Get-Content读取目标TXT文件,把每行的数据库名存入$dbNames变量(确保TXT里每行只写一个数据库名) - 通过
foreach循环遍历每个数据库名,逐个调用cmdlet配置策略 - 这里假设你已经预先定义好了
$serverName(SQL服务器名)和$resourceGroup(资源组名)变量,直接复用即可 - 示例里的保留周期参数可以根据实际需求调整:
P53W代表53周,P48M代表48个月,P10Y代表10年,-WeekOfYear 52指定每年第52周的备份作为年度长期保留备份
内容的提问来源于stack exchange,提问作者mdie
相关产品推荐
相关产品推荐

