sys.resource_stats (Azure SQL Database)

適用対象:Azure SQL Database

Azure SQL Database 内のデータベースの CPU 使用率とストレージ データを返します。 データは、5 分間隔で収集と集計が実行されます。 ユーザー データベースごとに、5 分ごとに 1 行のレポートウィンドウがあり、リソース使用量が変化します。 返されるデータには、CPU 使用率、ストレージ サイズの変更、データベース SKU の変更が含まれます。 変更のないアイドル状態のデータベースには、5 分間隔ごとに行が含まれていない場合があります。 履歴データは約 14 日間保持されます。

Note

この動的管理ビューは、Azure SQL Database にのみ適用されます。 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 データベース データ、インデックス、ストアド プロシージャ、メタデータなど、期間の最大ストレージ サイズ (MB 単位)。
avg_cpu_percent decimal(5,2) サービス レベルの制限に対する割合での平均コンピューティング使用率。
avg_data_io_percent decimal(5,2) サービス レベルの制限に基づく平均 I/O 使用率 (%)。 ハイパースケール データベースについては、リソース使用率の統計のデータ 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) サービス レベルの制限に対するメモリ内 OLTP のストレージ使用率 (レポート間隔の最後)。 これには、メモリ最適化テーブル、インデックス、およびテーブル変数というインメモリ OLTP オブジェクトのストレージに使用されるメモリが含まれます。 ALTER TABLE 操作の処理に使用されるメモリも含まれます。 詳細については、「インメモリ OLTP の監視」を参照してください

インメモリ 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 使用率のトラブルシューティングの詳細については、「Azure SQL Database のパフォーマンスにおける CPU パフォーマンスの問題を特定する」または「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

関連項目

次のステップ

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