在免费试用期间,我花了很多时间摆弄和试验 Azure。现在我们已经转到付费版本,我需要删除所有试验过的东西,因为我们不需要它们。
其中一个是恢复服务库,不知何故在备份使用过程中出现了问题(见下面的截图)
我查看了所有设置,发现没有任何东西可以删除。任何可能链接到保管库的存储帐户早已消失 - 它实际上是资源组中唯一剩下的东西。由于这个保管库,我也无法删除资源组。
每次我尝试删除时都会出现以下错误:
保险库删除错误
无法删除保管库“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
}
}