Set-AzureRmSqlDatabase失败

时间:2017-01-10 12:59:53

标签: azure azure-powershell azure-automation

Azure Run As帐户似乎不再适用于任何脚本。我们没有对它进行任何更改,证书在2018年到期。这似乎是原因,但我没有解决方案。

在生成此错误时无法运行Set-AzureRmSqlDatabase -ResourceGroupName "$RGName" -DatabaseName "$DBName" -ServerName "$ServerName" -Edition $Edition -ServiceObjective $DBLevel

Set-AzureRmSqlDatabase : Run Login-AzureRmAccount to login.
At line:56 char:1
+ Set-AzureRmSqlDatabase -ResourceGroupName "$RGName" -DatabaseName "$D ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Set-AzureRmSqlDatabase], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.Azure.Commands.Sql.Database.Cmdlet.SetAzureSqlDatabase

我认为Add-AzureRmAccount会话中的日志。我研究的另一个问题可能是参数的值。示例值为:

$RGName: my-rg

$Edition: Standard

$ServerName: my-db-server //不是完全合格的,但我也尝试了

$DBName: my-db

$DBLevel: S0

相同的顶部部件可以在另一个脚本上正常工作以调整应用程序计划的大小。

代码:

Param
     (
         [Parameter (Mandatory= $true)]
         [String] $RGName,

         [Parameter (Mandatory= $false)]
         [String] $Edition="Standard",

         [Parameter (Mandatory= $true)]
         [String] $ServerName,

         [Parameter (Mandatory= $true)]
         [String] $DBName,

         [Parameter (Mandatory= $true)]
         [String] $DBLevel,

         [Parameter (Mandatory= $false)]
         [String] $SubId = "mysub"
     )
$connectionName = "AzureRunAsConnection"

try
{
    # Get the connection "AzureRunAsConnection "
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    "Logging in to Azure..."
    Add-AzureRmAccount `
        -ServicePrincipal `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 
}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

Select-AzureRmSubscription -SubscriptionId $SubId

Set-AzureRmSqlDatabase -ResourceGroupName "$RGName" -DatabaseName "$DBName" -ServerName "$ServerName" -Edition $Edition -RequestedServiceObjectiveName $DBLevel

1 个答案:

答案 0 :(得分:0)

您尚未登录azure:

Set-AzureRmSqlDatabase : Run Login-AzureRmAccount to login

登录并重试。

看来你Add-AzureRmAccount失败了。删除try catch并查看返回值。