我正在尝试编写一个自动脚本,从 Azure SQL 服务器数据库的最新 LTR 备份中进行恢复。
使用此命令:
az sql db restore --dest-name $newdbname --name $dbname--resource-group $resourcegroup --server $servername
在文档中,除了使用“--time”之外似乎没有办法指定要使用哪个备份,但您必须手动指定日期时间字符串。
有没有办法使用 Azure CLI 自动执行此操作?我知道使用 PowerShell Az 模块我可以列出所有备份并选择最新的备份,但在这种情况下我无法使用 PS。(Docker)
答案1
回答我自己的问题:Azure CLI 似乎没有实现此功能。可以使用 Powershell 来实现这一点。使用服务主体证书身份验证到 Azure 和 cmdlet 可以实现自动化以获取备份:
$server = Get-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup
$ltrBackup = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $OldDbName -OnlyLatestPerDatabase