Не удается масштабировать базу данных SQL Azure с помощью переменной

#azure #powershell #azure-sql-database

Вопрос:

Я пытаюсь сделать следующее:

  1. Захватите исходную версию и запросите имя объекта Serviceobjectivename базы данных sql Azure, используя следующий сценарий PS:
 $OriginalScale= Get-AzSqlDatabase `
                    -ResourceGroupName "POC_Scale" `
                    -ServerName "scaledb" `
                    -DatabaseName "scaleME"
 

2.Масштабируйте эту базу данных до определенного выпуска и уровня с помощью:

 Set-AzSqlDatabase `
                    -ResourceGroupName "POC_Scale" `
                    -ServerName "scaledb" `
                    -DatabaseName "scaleME" `
            -Edition "Standard" `
            -RequestedServiceObjectiveName "S3" `
 

3.После развертывания масштабируйте его до исходного масштаба, который я захватил до шага 2, используя:

 Set-AzSqlDatabase `
                    -ResourceGroupName "POC_Scale" `
                    -ServerName "scaledb" `
                    -DatabaseName "scaleME" `
            -Edition "$OriginalScale.Edition" `
            -RequestedServiceObjectiveName "$OriginalScale.RequestedServiceObjectiveName" `

 

Я получаю следующую ошибку:

Ошибка

Я попробовал следующее:

  1. Попытался использовать одинарные кавычки вокруг передаваемого имени-Edition и-requestedserviceobject, но я получаю ту же ошибку.
  2. Проверил, что значение $Original.Издание действительно возвращает «Стандарт». Также проверил документы и обнаружил это .Издание на самом деле является строкой, которая теоретически должна работать.

Кто-нибудь, пожалуйста, объясните мне, что я здесь делаю неправильно. Кажется простым, но не уверен, что я делаю неправильно.

Ответ №1:

Проблема в котировках. Либо не используйте кавычки, либо делайте это так:

-Edition "$($OriginalScale.Edition)"

Синтаксис, который вы сейчас пытаетесь использовать, игнорирует .Edition и выводит только имя PSObject.