How to delete Azure Backup Vault with Azure SQL Long Term retention databases

I’ve came across this problem where I had a backup vault I want to delete, but it contains Azure SQL long term backup databases. And you cannot remove them using the portal. Azure Backup is pretty counter-intuitive so I’ve decided to convert that knowledge into a post.

Obviously you will lose all your backups if you do this. But since I was just tinkering around I needed to do that.

What you have to do is remove the backup items and delete the vault after.

# We need to set recovery services context to work with recovery vault
$vault = Get-AzureRmRecoveryServicesVault -Name '{VaultName}'
Set-AzureRmRecoveryServicesVaultContext -Vault $vault
# Get protection containers to work with those
$containers = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureSQL -Status Registered
$item = Get-AzureRmRecoveryServicesBackupItem -Container $containers -WorkloadType AzureSQLDatabase
$availableBackups = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $item
$availableBackups # check existing items
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
}
Written on August 3, 2017