sys.resource_stats (Azure SQL データベース)
適用対象:Azure SQL データベース
Azure SQL Database 内のデータベースの CPU 使用率とストレージ データを返します。 データは、5 分間隔で収集と集計が実行されます。 ユーザー データベースごとに、5 分ごとに 1 行のレポート ウィンドウがあり、リソース消費量が変化します。 返されるデータには、CPU 使用率、ストレージ サイズの変更、データベース SKU の変更が含まれます。 変更のないアイドル状態のデータベースには、5 分間隔ごとに行が含まれない場合があります。 履歴データは約 14 日間保持されます。
Note
この動的管理ビューは、Azure SQL データベースにのみ適用されます。 Azure SQL Managed Instanceの同等のビューの場合は、sys.server_resource_statsを使用します。
[列] | データ型 | 説明 |
---|---|---|
start_time | datetime | 5 分間のレポート間隔の開始を示す UTC 時刻。 |
end_time | datetime | 5 分間のレポート間隔の終了を示す UTC 時刻。 |
database_name | nvarchar(128) | ユーザー データベースの名前。 |
sku | nvarchar(128) | データベースのサービス階層。 使用できる値を次に示します。 Basic Standard Premium General Purpose Business Critical |
storage_in_megabytes | float | データベース データ、インデックス、ストアド プロシージャ、メタデータなど、期間の最大ストレージ サイズ (メガバイト単位)。 |
avg_cpu_percent | decimal(5,2) | サービス レベルの制限に対する割合の平均コンピューティング使用率。 |
avg_data_io_percent | decimal(5,2) | サービス レベルの制限に基づく平均 I/O 使用率 (パーセンテージ)。 Hyperscale データベースについては、「 リソース使用率統計のデータ IO」を参照してください。 |
avg_log_write_percent | decimal(5,2) | サービス層の上限に対するパーセンテージで示した、平均書き込みリソース使用率。 |
max_worker_percent | decimal(5,2) | データベースのサービス レベルの制限に基づく最大同時ワーカー (要求数)。 現在、最大は、同時ワーカー数の 15 秒のサンプルに基づいて 5 分間に計算されます。 |
max_session_percent | decimal(5,2) | データベースのサービス レベルの制限に基づく最大同時セッション数 (パーセンテージ)。 Maximum は現在、同時セッション数の 15 秒のサンプルに基づいて 5 分間に計算されます。 |
dtu_limit | int | この間隔でのこのデータベースの現在の最大データベース DTU 設定。 |
xtp_storage_percent | decimal (5,2) | In-Memory OLTP のストレージ使用率 (サービス レベルの制限に対する割合)。 これには、次のIn-Memory OLTP オブジェクトのストレージに使用されるメモリが含まれます:メモリ最適化テーブル、インデックス、およびテーブル変数。 ALTER TABLE 操作の処理に使用されるメモリも含まれます。 詳細については、「 In-Memory OLTP の監視」を参照してください。 In-Memory OLTP がデータベースで使用されていない場合は 0 を返します。 |
avg_login_rate_percent | decimal (5,2) | 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。 |
avg_instance_cpu_percent | decimal (5,2) | SQL Database プロセスの平均データベース CPU 使用率。 |
avg_instance_memory_percent | decimal (5,2) | SQL Database プロセスの割合としての平均データベース メモリ使用量。 |
cpu_limit | decimal (5,2) | この期間中のこのデータベースの仮想コアの数。 DTU ベースのモデルを使用するデータベースの場合、この列は NULL です。 |
allocated_storage_in_megabytes | float | データベース データの格納に使用できる形式のファイル領域 (MB 単位)。 書式設定されたファイル領域は、割り当てられたデータ領域とも呼ばれます。 詳細については、「SQL Databaseでのファイル領域の管理」を参照してください。 |
ヒント
これらの制限とサービス レベルの詳細については、 サービス レベルに関するトピックを参照してください。
アクセス許可
Azure SQL Database では、このビューは、仮想master
データベースに接続するためのアクセス許可を持つすべてのユーザー ロールで使用できます。
解説
によって sys.resource_stats
返されるデータは、実行中のサービス レベル/パフォーマンス レベルで許可される最大制限に対する割合で表されます。
データベースがエラスティック プールのメンバーである場合、パーセント値として示されるリソース統計は、エラスティック プール構成で設定されたデータベースの最大制限の割合として表されます。
このデータをより詳細に表示するには、ユーザー データベースで動的管理ビューを使用 sys.dm_db_resource_stats
します。 このビューでは、15 秒ごとにデータをキャプチャし、履歴データを 1 時間保持します。 詳細については、「sys.dm_db_resource_stats (Azure SQL Database)」を参照してください。
Note
動的管理ビューを使用した CPU 使用率のトラブルシューティングの詳細については、「Microsoft Azure SQL DatabaseおよびAzure SQL Managed Instanceパフォーマンスの CPU パフォーマンスの問題を特定する」を参照してください。
メモリ不足の最近のイベントを確認するには、 sys.dm_os_out_of_memory_eventsを使用します。
例
クエリを実行sys.resource_stats
するには、論理サーバー上のmaster
データベースに接続されている必要があります。
次の例では、過去 1 週間の CPU 使用率の少なくとも 80% を平均しているすべてのデータベースを返します。
DECLARE @s datetime;
DECLARE @e datetime;
SET @s= DateAdd(d,-7,GetUTCDate());
SET @e= GETUTCDATE();
SELECT database_name, AVG(avg_cpu_percent) AS Average_CPU_Utilization
FROM sys.resource_stats
WHERE start_time BETWEEN @s AND @e
GROUP BY database_name
HAVING AVG(avg_cpu_percent) >= 80;
GO
関連項目
次の手順
関連する概念の詳細については、次の記事を参照してください。