如何删除 azure sql 数据库的长期保留并删除保管库

how to remove long term retention for azure sql db and delete vault

我正在尝试删除测试数据库的长期保留策略并删除附加到它的保管库。我能够禁用该策略,但是当我尝试删除保管库时,出现错误:

Vault cannot be deleted as there are existing resources within the vault. Please ensure there are no backup items, protected servers or backup management servers associated with this vault. Unregister the following containers associated with this vault before proceeding for deletion : Sql;mydatabase123;mysqlserver123-svr Unregister all containers from the vault and then retry to delete vault

我想完全取消他们的债券,这样我就可以用另一个保险库设置另一个长期政策,也可以测试我可以用 azure sql 和保险库做些什么的限制。

知道如何撤销我所做的吗?谢谢!

P.S。我发现这个问题也提出了 here 但没有解决。

作为解决方法,请尝试使用 PowerShell 删除恢复保管库。

$vault = Get-AzureRmRecoveryServicesVault -Name "TestRecoveryServiceVault"
Remove-AzureRmRecoveryServicesVault -Vault $vault

Remove-AzureRmRecoveryServicesVault -Vault $vault -Force

以上 cmdlet 将删除恢复保管库,而不考虑保管库的内容。

保管库中有 SQL 个备份。您需要找到 SQL 个备份并删除它们。尝试以下脚本。

$vault = Get-AzureRmRecoveryServicesVault -Name "VaultName"

Set-AzureRmRecoveryServicesVaultContext -Vault $vault

#VIEW THE BACKUP ITEMS
$container = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureSQL -FriendlyName $vault.Name

$item = Get-AzureRmRecoveryServicesBackupItem -Container $container -WorkloadType AzureSQLDatabase

$availableBackups = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $item

$availableBackups      
#REMOVE THE BACKUP ITEMS AND VAULT
$containers = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureSQL -FriendlyName $vault.Name

ForEach ($container in $containers)
{
    $items = Get-AzureRmRecoveryServicesBackupItem -container $container -WorkloadType AzureSQLDatabase

    ForEach ($item in $items)
    {
        Disable-AzureRmRecoveryServicesBackupProtection -item $item -RemoveRecoveryPoints -ea SilentlyContinue
    }

    Unregister-AzureRmRecoveryServicesBackupContainer -Container $container
}

Remove-AzureRmRecoveryServicesVault -Vault $vault

您也可以查看此