无法删除 Azure RecoveryServiceVault?

无法删除 Azure RecoveryServiceVault?

在免费试用期间,我花了很多时间摆弄和试验 Azure。现在我们已经转到付费版本,我需要删除所有试验过的东西,因为我们不需要它们。

其中一个是恢复服务库,不知何故在备份使用过程中出现了问题(见下面的截图)

恢复库现在的样子,除了 GRS 备份使用外,其他都是空的

我查看了所有设置,发现没有任何东西可以删除。任何可能链接到保管库的存储帐户早已消失 - 它实际上是资源组中唯一剩下的东西。由于这个保管库,我也无法删除资源组。

每次我尝试删除时都会出现以下错误:

保险库删除错误

无法删除保管库“TestRecoveryServiceVault”,因为保管库中已有资源。请删除所有复制项、已注册的服务器、Hyper-V 站点(用于站点恢复)、System Center VMM 云的策略关联(用于站点恢复),然后删除保管库。

我甚至尝试了 powershell 命令

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

(与上述错误相同)和

Remove-AzureRmRecoveryServicesVault -Vault $vault -Force

(但是这个抛出一个错误,参数-Force不存在,我怀疑是文档过时了)

我已经束手无策了,真希望这个保险库消失。任何帮助我都会感激不尽。

编辑:

澄清:

保管库中没有留下任何任务;只有 6MB 的数据,这些数据似乎是凭空而来,因为它没有随任务一起被删除。删除任务时我没有选择保留备份数据。

答案1

终于能够移除保险库,在清理完SQL 备份通过 powershell 进行查找。我真的很惊讶没有人知道这件事,而且我花了很长时间才找到它。

对于遇到此问题的任何人来说,命令如下:

这些命令首先查看数据库备份中是否有任何内容,然后将其全部删除。

$vault = Get-AzureRmRecoveryServicesVault -Name "VaultName"

Set-AzureRmRecoveryServicesVaultContext -Vault $vault

查看备份项目

$container = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureSQL -FriendlyName $vault.Name

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

$availableBackups = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $item

$availableBackups      

删除备份项目和保管库

$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

我希望我能帮助其他遇到这种困境的人。

答案2

您需要先删除保管库中的任何备份任务,然后才能删除它,最简单的方法是使用此 PowerShell:

$vaultName = "<vault name>"
$vault = Get-AzureRmRecoveryServicesVault -Name $vaultName
Set-AzureRmRecoveryServicesVaultContext -Vault $vault
$containers = Get-AzureRmRecoveryServicesBackupContainer -ContainerType AzureVM -Status Registered 
foreach ($container in $containers)
{
    $backupItems = Get-AzureRmRecoveryServicesBackupItem -Container $container -WorkloadType AzureVM
    foreach ($backupItem in $backupItems)
    {
        Disable-AzureRmRecoveryServicesBackupProtection -Item $backupItem -RemoveRecoveryPoints -Force -Confirm:$false
    }
}

相关内容