Как удалить долгосрочное хранение для 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

Приведенные выше командлеты будут удалять хранилище восстановления независимо от содержимого хранилища.

Другие вопросы по тегам