Как удалить долгосрочное хранение для Azure SQL DB и удалить хранилище
Я пытаюсь удалить политику долгосрочного хранения на тестовой базе данных и удалить прикрепленное к ней хранилище. Мне удалось отключить политику, но при попытке удалить хранилище я получаю сообщение об ошибке:
Хранилище не может быть удалено, так как в хранилище есть ресурсы. Убедитесь, что в этом хранилище нет элементов резервного копирования, защищенных серверов или серверов управления резервным копированием. Прежде чем приступить к удалению, отмените регистрацию следующих контейнеров, связанных с этим хранилищем: Sql;mydatabase123;mysqlserver123-svr Отмените регистрацию всех контейнеров из хранилища и повторите попытку удаления хранилища.
Я хотел бы полностью отменить их связь, чтобы я мог настроить другую долгосрочную политику с другим хранилищем, а также проверить пределы того, что я могу сделать с лазурным sql и хранилищами.
Любая идея, как я могу отменить то, что я сделал? Спасибо!
PS Я нашел этот вопрос также здесь, но без разрешения.
2 ответа
В хранилище есть резервные копии 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
Вы также можете проверить этот вопрос.
Попробуйте использовать PowerShell, чтобы удалить хранилище для восстановления в качестве обходного пути.
$vault = Get-AzureRmRecoveryServicesVault -Name "TestRecoveryServiceVault"
Remove-AzureRmRecoveryServicesVault -Vault $vault
Remove-AzureRmRecoveryServicesVault -Vault $vault -Force
Приведенные выше командлеты будут удалять хранилище восстановления независимо от содержимого хранилища.