none
Automation Runbook PowerShellでdatabaseの価格レベル(DTU)が変更できなくなった RRS feed

  • 質問

  • 状況は件名の通りです。

    何日前からこの状態になったか分かりません。
    1ヶ月に1回はデータベース一覧でチェックしていたので、おそらく1ヶ月以内だと思います。

    PowerShellの内容は以下の通り、自動生成されるサンプルのままです。

    try-catchの実装だったため、成功という結果しか残らないので把握が遅れました。

    このPowerShellの目的は、自動で夜間にDTUレベルを下げて、朝にDTUレベルを上げる、というものです。

    **以下がPowerShell**

    $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
        }
    }

    #夜間、使わない時間帯にBasicに下げる場合の例。Basic→S1、S1→Basicどちらもエラーで変更できなくなりました
    Set-AzureRmSqlDatabase -ResourceGroupName "resourceABC" -DatabaseName "abcdb" -ServerName "abcserver" -Edition "Basic" -RequestedServiceObjectiveName "Basic"


    **以上がPowerShell**


    エラーメッセージは以下の通りです。

    Logging in to Azure...

    Environments                                                                                           Context          
    ------------                                                                                           -------          
    {[AzureCloud, AzureCloud], [AzureChinaCloud, AzureChinaCloud], [AzureUSGovernment, AzureUSGovernment]} Microsoft.Azur...
    Set-AzureRmSqlDatabase : ResourceNotFound: The Resource 'Microsoft.Sql/servers/isf2hqkp0f/databases/abcdb' 
    under resource group 'resourceABC' was not found. For more details please go to 
    https://aka.ms/ARMResourceNotFoundFix
    At line:26 char:1
    + Set-AzureRmSqlDatabase -ResourceGroupName "resourceABC" -Da ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : CloseError: (:) [Set-AzureRmSqlDatabase], CloudException
        + FullyQualifiedErrorId : Microsoft.Azure.Commands.Sql.Database.Cmdlet.SetAzureSqlDatabase



    リソースが見つからない、というエラーだと思います。
    しかし、そのリソースはあります。

    この他にも同じリソース内にもdatabaseが10以上あり、この1つのdatabase以外は全て正常に処理できています。
    なぜこのdatabaseだけがダメなのか、全く分かりません。

    他も同じようなdatabaseで、このdatabaseだけに特別な設定などはしていません。

    サブスクリプションやリソースグループ、リソース名はAzureを使用しはじめてから一切変更を加えていませんので、数年は変更していません。


    試しに、新たに別のリソースグループを作って、databaseのリソースグループを変更して、Runbook PowerShellを新たに作っても同じくResourceNotFoundエラーです。
    元のリソースグループに戻しても、やはりResourceNotFoundエラーです。


    この問題について、ご存じの方いらっしゃいませんでしょうか?


    2020年9月14日 12:16

回答

  • サポートに問い合わせて解決しました。

    database名が違うという凡ミスでした。

    今までは成功していた、というのは勘違いで

    おそらく手動で設定していたものと思われます。

    大変失礼しました。

    2020年9月24日 2:42