Я использую автоматизированный сценарий PowerShell, чтобы снизить ценовой уровень резервной копии базы данных. При подаче следующей команды происходит сбой понижения уровня. Ошибка, если я правильно понял, относится к хранилищу ключей с ключом, названным таким же, как имя моего сервера, поскольку такого ключа не существует (следовательно, мягкое удаление также может быть не включено), эта команда не выполняется.
Команда была настроена, когда мое приложение не было настроено с хранилищем ключей, и похоже, что теперь она не работает.
Используемая команда:
Set-AzureRmSqlDatabase -DatabaseName <*Back-up DB name*> -ServerName <*SQL server name*> -ResourceGroupName <*Resource Group name*> -Edition Standard -RequestedServiceObjectiveName S0
Ошибка:
Set-AzureRmSqlDatabase: 45377: Указанный uri хранилища ключей 'https: //****.vault.azure.net/keys/ ‹SERVERNAME> / ‹< em > Подписка / какой-то идентификатор> недействительна. Убедитесь, что в хранилище ключей настроено мягкое удаление. (https://aka.ms/sqltdebyoksoftdelete) В строке: 1 символ: 2 + Set-AzureRmSqlDatabase -DatabaseName ‹Имя резервной базы данных> -ServerName‹ Имя сервера SQL> ... + ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ + CategoryInfo: CloseError: (:) [Set-AzureRmSqlDatabase], CloudException + FullyQualifiedErrorId: Microsoft.Azure.Commands.Sql.Database.Cmdlet.SetAzureSqlDatabase
Вопросы:
1. Почему команда Set-AzureRmSqlDatabase ссылается на URI хранилища ключей, если не упоминается явно?
2. Есть ли параметр, который нам нужно установить на уровне сервера / БД, чтобы эта команда могла читать имя сервера / БД напрямую, а не искать ключ с именем сервера?
Связано ли это с прозрачным шифрованием данных?
Предполагаем ли мы внести какие-либо изменения в эту команду, если хранилище ключей появится позже, чем настройка приложения / базы данных / хранилища ключей?