次の方法で共有


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 使用率 (%)。 ハイパースケール データベースについては、リソース使用率の統計の Data 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 操作の処理に使用されるメモリも含まれます。 詳細については、「 Monitor In-Memory 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

関連項目

次のステップ

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