Azure SQL Databaseのserverless compute tierを監視してください

適用対象:Azure SQL データベース

サーバーレスデータベースの一時停止および再開イベントの履歴を見ることができます。

使用済みおよび請求対象のリソース

サーバーレスデータベースのリソースには、アプリパッケージ、SQL論理サーバー、ユーザーリソースプールエンティティが含まれます。

アプリ パッケージ

アプリパッケージは、データベースがサーバーレスであろうとプロビジョニングされた計算層であろうと、データベースの最外側のリソース管理境界です。 このアプリパッケージにはSQL データベース エンジンやFull-text Searchのような外部サービスが含まれており、これらすべてがAzure SQL Databaseで使用されるすべてのユーザーおよびシステムリソースを対象としています。 SQL データベース エンジンは、アプリパッケージ全体のリソース利用率を支配的です。

ユーザー リソース プール

ユーザー リソース プールは、データベースがサーバーレスまたはプロビジョニング済みのどちらのコンピューティング レベルであるかに関係なく、データベースに対する内側のリソース管理境界です。 ユーザーリソースプールは、DDL(CREATE および ALTER)およびDML(INSERTUPDATEDELETEMERGESELECT)クエリによって生成されるユーザーワークロードに対してCPUおよびIOの範囲を設定します。 これらのクエリは、一般に、アプリ パッケージでの使用量の最も大きな割合を表します。

Metrics

次の表には、アプリ パッケージのリソース使用量とサーバーレス データベース (geo レプリカを含む) のユーザー リソース プールを監視するためのメトリックが含まれています。

Entity Metric Description Units
アプリ パッケージ app_cpu_percent アプリに許可されている最大仮想コア数に対する、アプリによって使用された仮想コア数の割合。 サーバーレス Hyperscale の場合、すべてのプライマリ レプリカ、名前付きレプリカ、geo レプリカに対して、このメトリックが公開されています。 パーセンテージ
アプリ パッケージ app_cpu_billed レポート期間中にアプリに対して請求されるコンピューティングの量。 この期間中に支払われる金額は、このメトリックと仮想コアの単位価格の積です。

このメトリックの値は、1 秒ごとに使用された CPU とメモリの最大値を時間で集計することによって決定されます。 使用量が最小vCoreおよび最小メモリで設定される最低プロビジョニング量より少ない場合、その最小プロビジョニング量が請求されます。 請求のために CPU とメモリを比較するため、メモリは GB 単位のメモリ量を仮想コアあたり 3 GB で再スケーリングすることによって、仮想コアの単位に正規化されます。 サーバーレス Hyperscale の場合、プライマリ レプリカと名前付きレプリカに対して、このメトリックが公開されています。
仮想コア秒数
アプリ パッケージ app_cpu_billed_HA_replicas サーバーレス Hyperscale にのみ適用されます。 レポート期間中に HA レプリカのすべてのアプリに対して請求されるコンピューティングの合計。 この合計のスコープは、プライマリ レプリカに属する HA レプリカ、または特定の名前付きレプリカに属する HA レプリカのいずれかです。 HA レプリカ全体でこの合計を計算する前に、個々の HA レプリカに対して請求されるコンピューティングの量は、プライマリ レプリカまたは名前付きレプリカの場合と同じ方法で決定されます。 サーバーレス Hyperscale の場合、すべてのプライマリ レプリカ、名前付きレプリカ、geo レプリカに対して、このメトリックが公開されています。 レポート期間中に支払われる金額は、このメトリックと仮想コアの単位価格の積です。 仮想コア秒数
アプリ パッケージ app_memory_percent アプリに許可されている最大メモリに対する、アプリによって使用されたメモリの割合。 サーバーレス Hyperscale の場合、すべてのプライマリ レプリカ、名前付きレプリカ、geo レプリカに対して、このメトリックが公開されています。 パーセンテージ
ユーザー リソース プール cpu_percent ユーザー ワークロードに許可されている最大仮想コア数に対する、ユーザー ワークロードによって使用された仮想コア数の割合。 パーセンテージ
ユーザー リソース プール data_IO_percent ユーザー ワークロードに許可されている最大データ IOPS に対する、ユーザー ワークロードによって使用されたデータ IOPS の割合。 パーセンテージ
ユーザー リソース プール log_IO_percent ユーザー ワークロードに許可されている最大ログ MB/秒に対する、ユーザー ワークロードによって使用されたログ MB/秒の割合。 パーセンテージ
ユーザー リソース プール workers_percent ユーザー ワークロードに許可されている最大ワーカー数に対する、ユーザー ワークロードによって使用されたワーカー数の割合。 パーセンテージ
ユーザー リソース プール sessions_percent ユーザー ワークロードに許可されている最大セッション数に対する、ユーザー ワークロードによって使用されたセッション数の割合。 パーセンテージ

一時停止と再開状況を監視する

自動一時停止が有効なサーバーレスデータベースの場合、報告されるステータスには以下の値が含まれます:

地位 Description
オンライン データベースはオンラインです。
一時停止中 データベースはオンラインから一時停止に移行しています。
一時停止 データベースは一時停止しています。
再開します データベースが一時停止からオンラインに移行しています。

Azure ポータルを使用する

Azureポータルでは、データベースの概要ページおよびサーバーの概要ページでデータベースの状態を確認できます。 また、Azureポータルでは、サーバーレスデータベースのアクティビティログで一時停止や再開イベントの履歴を確認できます。

PowerShell の使用

以下のPowerShellの例を使って現在のデータベースの状態を確認できます:

$params = @{
    ResourceGroupName = $resourcegroupname
    ServerName = $servername
    DatabaseName = $databasename
}
Get-AzSqlDatabase @params | Select-Object -ExpandProperty "Status"

Azure CLI の使用

以下のAzure CLI例を使って現在のデータベースの状態を確認してください:

$resourceGroupName = "<resource group name>"
$serverName = "<logical SQL server name>"
$databaseName = "<database name>"

az sql db show --name $databasename `
--resource-group $resourcegroupname `
--server $servername `
--query 'status' `
-o json