Scale-AzSqlDatabase.ps1
function Scale-AzSqlDatabase { param ([string] $AzureRunAsConnection, [string] $ResourceGroupName, [string] $Name, [string] $Sku) Connect-AzAccount -Identity Write-Output ('AzureRunAsConnection: {0} ResourceGroupName: {1} Name: {2} SKU: {3}' -F $AzureRunAsConnection, $ResourceGroupName, $Name, $Sku) $ServerName, $DatabaseName = $Name.Split('/')[0], $Name.Split('/')[1] # $servicePrincipalConnection = Get-AutomationConnection -Name $AzureRunAsConnection # $azAccount = Add-AzAccount -ServicePrincipal -SubscriptionId $servicePrincipalConnection.SubscriptionId -TenantId $servicePrincipalConnection.TenantId -ApplicationId $servicePrincipalConnection.ApplicationId -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint $sqldb = Get-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -ErrorAction Stop if ((-not [System.String]::IsNullOrEmpty($Sku)) -and ($Sku -ne $sqldb.CurrentServiceObjectiveName)) { Set-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -Edition $sqldb.Edition -RequestedServiceObjectiveName $Sku -ErrorAction Stop } Write-Output ('Resource "{0}" successfully scaled from SKU "{1}" to "{2}"' -F $Name, $sqldb.CurrentServiceObjectiveName, $Sku) } |