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) データベースのサービス レベルの制限に基づく最大同時セッション数 (パーセンテージ)。

現在、最大は、同時セッション数の 15 秒のサンプルに基づいて、5 分間隔で計算されます。
dtu_limit int この期間中のこのデータベースの現在の最大データベース DTU 設定。
xtp_storage_percent decimal (5,2) In-Memory OLTP のストレージ使用率 (サービス レベルの制限に対する割合)。 これには、メモリ最適化テーブル、インデックス、およびテーブル変数という、In-Memory OLTP オブジェクトのストレージに使用されるメモリが含まれます。 ALTER TABLE 操作の処理に使用されるメモリも含まれています。 詳細については、 OLTP の監視In-Memory参照してください。

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 データベースでは、このビューは、仮想masterデータベースに接続するためのアクセス許可を持つすべてのユーザー ロールで使用できます。

注釈

返される sys.resource_stats データは、実行しているサービス レベル/パフォーマンス レベルで許可される最大制限に対する割合で表されます。

データベースがエラスティック プールのメンバーである場合、パーセント値として示されるリソース統計は、エラスティック プール構成で設定されたデータベースの最大制限の割合として表されます。

このデータをより詳細に表示するには、ユーザー データベースで動的管理ビューを使用 sys.dm_db_resource_stats します。 このビューでは、15 秒ごとにデータがキャプチャされ、履歴データが 1 時間保持されます。 詳細については、「sys.dm_db_resource_stats (Azure SQL データベース)」を参照してください。

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

関連項目

次のステップ

関連する概念の詳細については、次の記事を参照してください。