SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Database でリージョンで利用可能なエディションを取得する

leave a comment

SQL Database には、DTU / vCore でいくつかのエディション (Standard / Premium / GP / BC 等) が提供されていますが、リージョンのよってはまだ使用できないエディションがあります。

DC シリーズや M シリーズが、現時点では一部のリージョンのみでしか展開ができないものとなります。

自分が使用したいリージョンで展開されているエディション / 使用したいエディションが展開されているリージョンについて、調べる方法について軽くまとめておきたいと思います。

調べる方法としては次の 2 つの方法を使用できます。

コマンドレットが提供されていますので、Cloud Shell 等から、次のようなコマンドを実行すると情報を取得できます。
image

コマンドレットで情報を取得する場合は「使用したい SLO を指定する」必要があるようで、「そのリージョンで利用可能な全エディション」を取得するという動作ではないようですね。(裏ではすべての情報を取得して、オプションに指定された内容でフィルターしているようですが)

ということで、全エディションを使用する場合には、Location Capabilities – List By Location の REST API を直接叩いてみます。(コマンドレットも裏ではこの REST が叩かれています)

雑ですが次のようなスクリプトをサクッと流してみます。
Bearer Token については、REST のリファレンスの Try It 等から取得して指定してください。

# $region = @("eastasia","southeastasia","centralus","eastus","eastus2","westus","northcentralus","southcentralus","northeurope","westeurope","japanwest","japaneast","brazilsouth","australiaeast","australiasoutheast","southindia","centralindia","westindia","canadacentral","canadaeast","uksouth","ukwest","westcentralus","westus2","koreacentral","koreasouth","francecentral","francesouth","australiacentral","australiacentral2","uaecentral","uaenorth","southafricanorth","southafricawest","switzerlandnorth","switzerlandwest","germanynorth","germanywestcentral","norwaywest","norwayeast","brazilsoutheast","westus3","swedencentral")
$region = @("japaneast")
$subscriptionId = ""
$bearerToken = ""

$uri = "https://management.azure.com/subscriptions/$($subscriptionId)/providers/Microsoft.Sql/locations/{0}/capabilities?api-version=2020-11-01-preview"
$header = @{
    "Authorization"= "Bearer $($bearerToken)"
}
Write-Host "`n"
$region | %{
    try{
        $l = $_
        $response = Invoke-WebRequest -Uri ($uri -f $l) -Headers $header -Method "GET" 
    
        $json = $response.Content | ConvertFrom-Json -Depth 100

        # Write-Output $json.supportedServerVersions.supportedEditions
        $json.supportedServerVersions.supportedEditions.name | %{Write-Host  ("{0} : {1}" -f $l, $_)}
        ($json.supportedServerVersions.supportedEditions | ? Name -eq "BusinessCritical").supportedServiceLevelObjectives | %{Write-Host ("{0} : {1}" -f $l, $_.name)}

    }catch{
        Write-Host $_
    }
}

実行結果は次のようになります。

image

Japan East と East US の結果を並べてみたのですが、私が使用しているサブスクリプションでは、Japan East の Business Critical では は、DC / M シリーズがサポートされていないことが確認できますね。

リージョンで使用可能なエディションの調査方法としてはこのような方法を使うと調べられそうです。

Share

Written by Masayuki.Ozawa

7月 1st, 2021 at 9:42 am

Posted in SQL Database

Tagged with

Leave a Reply