sys.dm_db_resource_stats (Azure SQL Database)sys.dm_db_resource_stats (Azure SQL Database)

適用対象:Applies to: はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance適用対象:Applies to: はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance

データベースの CPU、i/o、およびメモリの消費量を返し Azure SQL データベースAzure SQL Database ます。Returns CPU, I/O, and memory consumption for an Azure SQL データベースAzure SQL Database database. データベースにアクティビティがない場合でも、15 秒ごとに 1 つの行が存在します。One row exists for every 15 seconds, even if there is no activity in the database. 履歴データは約1時間保持されます。Historical data is maintained for approximately one hour.

[列]Columns データ型Data Type 説明Description
end_timeend_time datetimedatetime UTC 時刻は、現在のレポート間隔の終了を示します。UTC time indicates the end of the current reporting interval.
avg_cpu_percentavg_cpu_percent decimal (5, 2)decimal (5,2) サービス層の制限に対する割合での平均コンピューティング使用率。Average compute utilization in percentage of the limit of the service tier.
avg_data_io_percentavg_data_io_percent decimal (5, 2)decimal (5,2) サービス層の上限に対する平均データ i/o 使用率 (%)。Average data I/O utilization in percentage of the limit of the service tier. Hyperscale データベースについては、「 リソース使用率の統計情報のデータ IO」を参照してください。For Hyperscale databases, see Data IO in resource utilization statistics.
avg_log_write_percentavg_log_write_percent decimal (5, 2)decimal (5,2) サービス層の制限に対する割合としての、平均トランザクションログの書き込み (MBps)。Average transaction log writes (in MBps) as percentage of the service tier limit.
avg_memory_usage_percentavg_memory_usage_percent decimal (5, 2)decimal (5,2) サービス層の制限に対する平均メモリ使用率 (%)。Average memory utilization in percentage of the limit of the service tier.

これには、バッファープールページに使用されるメモリと、インメモリ OLTP オブジェクトのストレージが含まれます。This includes memory used for buffer pool pages and storage of In-Memory OLTP objects.
xtp_storage_percentxtp_storage_percent decimal (5, 2)decimal (5,2) サービス層の制限 (レポート間隔の終了時) に対するインメモリ OLTP のストレージ使用率。Storage utilization for In-Memory OLTP in percentage of the limit of the service tier (at the end of the reporting interval). これには、メモリ最適化テーブル、インデックス、およびテーブル変数の、次のインメモリ OLTP オブジェクトのストレージに使用されるメモリが含まれます。This includes memory used for storage of the following In-Memory OLTP objects: memory-optimized tables, indexes, and table variables. また、ALTER TABLE 操作の処理に使用されるメモリも含まれています。It also includes memory used for processing ALTER TABLE operations.

インメモリ OLTP がデータベースで使用されていない場合は0を返します。Returns 0 if In-Memory OLTP is not used in the database.
max_worker_percentmax_worker_percent decimal (5, 2)decimal (5,2) データベースのサービス階層の上限に対する割合での最大同時実行ワーカー (要求)。Maximum concurrent workers (requests) in percentage of the limit of the database's service tier.
max_session_percentmax_session_percent decimal (5, 2)decimal (5,2) データベースのサービス層の上限に対する割合での最大同時セッション数。Maximum concurrent sessions in percentage of the limit of the database's service tier.
dtu_limitdtu_limit intint この期間中のこのデータベースの現在の最大データベース DTU 設定です。Current max database DTU setting for this database during this interval. 仮想コアベースのモデルを使用しているデータベースの場合、この列は NULL になります。For databases using the vCore-based model, this column is NULL.
cpu_limitcpu_limit decimal (5, 2)decimal (5,2) この期間中のこのデータベースの仮想コア数。Number of vCores for this database during this interval. DTU ベースのモデルを使用しているデータベースの場合、この列は NULL になります。For databases using the DTU-based model, this column is NULL.
avg_instance_cpu_percentavg_instance_cpu_percent decimal (5, 2)decimal (5,2) オペレーティングシステムによって測定された、データベースをホストしている SQL Server インスタンスの平均 CPU 使用率。Average CPU usage for the SQL Server instance hosting the database, as measured by the operating system. ユーザーワークロードと内部ワークロードの両方による CPU 使用率が含まれます。Includes CPU utilization by both user and internal workloads.
avg_instance_memory_percentavg_instance_memory_percent decimal (5, 2)decimal (5,2) オペレーティングシステムによって測定された、データベースをホストしている SQL Server インスタンスのメモリ使用量の平均値。Average memory usage for the SQL Server instance hosting the database, as measured by the operating system. ユーザーワークロードと内部ワークロードの両方によるメモリ使用率が含まれます。Includes memory utilization by both user and internal workloads.
avg_login_rate_percentavg_login_rate_percent decimal (5, 2)decimal (5,2) 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.
replica_rolereplica_role intint 現在のレプリカのロールのうち、0がプライマリ、1がセカンダリ、2がフォワーダー (geo セカンダリのプライマリ) であることを表します。Represents the current replica’s role with 0 as primary, 1 as secondary, and 2 as forwarder (geo-secondary’s primary). 読み取り可能なすべてのセカンダリに ReadOnly インテントを使用して接続すると、"1" と表示されます。You will see “1” when connected with ReadOnly intent to all readable secondaries. ReadOnly インテントを指定せずに geo セカンダリに接続すると、"2" (フォワーダーに接続) が表示されます。If connecting to a geo-secondary without specifying ReadOnly intent, you should see “2” (connecting to the forwarder).

ヒント

これらの制限とサービスレベルの詳細については、「 サービスレベル」、「 Azure SQL Database でのクエリのパフォーマンスの手動チューニング」、および「 リソースの制限とリソースガバナンスの SQL Database」を参照してください。For more context about these limits and service tiers, see the topics Service Tiers, Manually tune query performance in Azure SQL Database, and SQL Database resource limits and resource governance.

アクセス許可Permissions

このビューには、VIEW DATABASE STATE 権限が必要です。This view requires VIEW DATABASE STATE permission.

注釈Remarks

Sys.dm_db_resource_statsによって返されるデータは、実行しているサービス階層/パフォーマンスレベルに対して許容される最大制限の割合として表されます。The data returned by sys.dm_db_resource_stats is expressed as a percentage of the maximum allowed limits for the service tier/performance level that you are running.

過去60分以内にデータベースが別のサーバーにフェールオーバーされた場合、ビューはそのフェールオーバー以降の時間についてのみデータを返します。If the database was failed over to another server within the last 60 minutes, the view will only return data for the time since that failover.

保有期間が長いこのデータの詳細なビューを表示するには、 masterデータベースのsys.resource_statsカタログビューを使用します。For a less granular view of this data with longer retention period, use sys.resource_stats catalog view in the master database. このビューは、5分ごとにデータをキャプチャし、履歴データを14日間保持します。This view captures data every 5 minutes and maintains historical data for 14 days. 詳細については、「 sys.resource_stats (Azure SQL Database)」を参照してください。For more information, see sys.resource_stats (Azure SQL Database).

データベースがエラスティックプールのメンバーである場合、パーセント値として表示されるリソース統計は、エラスティックプール構成で設定されたデータベースの上限に対する比率として表されます。When a database is a member of an elastic pool, resource statistics presented as percent values, are expressed as the percent of the max limit for the databases as set in the elastic pool configuration.

Example

次の例では、現在接続しているデータベースの最新の時間によって並べ替えられたリソース使用率データを返します。The following example returns resource utilization data ordered by the most recent time for the currently connected database.

SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;  
  

次の例では、過去1時間のユーザーデータベースのパフォーマンスレベルで許容される最大 DTU 制限の割合という観点から、平均 DTU 消費量を示しています。The following example identifies the average DTU consumption in terms of a percentage of the maximum allowed DTU limit in the performance level for the user database over the past hour. パフォーマンスレベルは、一定の割合で100% 近くの割合で増やすことを検討してください。Consider increasing the performance level as these percentages near 100% on a consistent basis.

SELECT end_time,   
  (SELECT Max(v)    
   FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS    
   value(v)) AS [avg_DTU_percent]   
FROM sys.dm_db_resource_stats;  
  

次の例では、過去1時間の CPU 使用率、データとログ i/o、およびメモリ使用量の平均値と最大値を返します。The following example returns the average and maximum values for CPU percent, data and log I/O, and memory consumption over the last hour.

SELECT    
    AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent',   
    MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent',   
    AVG(avg_data_io_percent) AS 'Average Data IO In Percent',   
    MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent',   
    AVG(avg_log_write_percent) AS 'Average Log Write I/O Throughput Utilization In Percent',   
    MAX(avg_log_write_percent) AS 'Maximum Log Write I/O Throughput Utilization In Percent',   
    AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent',   
    MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent'   
FROM sys.dm_db_resource_stats;  
  

参照See Also

sys.resource_stats (Azure SQL Database) サービスレベルsys.resource_stats (Azure SQL Database) Service Tiers