Share via


sys.dm_user_db_resource_governance (Transact-SQL)

適用対象:サポートされていません。SQL ServerAzure SQL Database サポートされていません。Azure Synapse Analytics サポートされていません。 Analytics Platform System (PDW)

現在のデータベースまたはエラスティック プールのリソース ガバナンス メカニズムによって使用される実際の構成と容量の設定を返します。

単一データベースの場合は、現在のデータベースの 1 行を返します。 エラスティック プールの場合は、呼び出し元がアクセス許可をVIEW DATABASE PERFORMANCE STATE保持しているデータベースごとに行を返し、呼び出し元がアクセス許可を保持VIEW DATABASE STATEしている場合はエラスティック プール内のすべてのデータベースの行をVIEW SERVER STATEVIEW SERVER PERFORMANCE STATE返します。

列名 データ型 説明
database_id int データベースの ID。データベース内またはエラスティック プール内で一意ですが、論理サーバー内では一意ではありません。 詳細については、「DB_ID」を参照してください。
logical_database_guid UNIQUEIDENTIFIER ユーザー データベースの有効期間中に変更されないメインユーザー データベースの一意識別子。 データベースの名前を変更したり、サービス レベル目標を変更したりすると、この値は変更されません。
physical_database_guid UNIQUEIDENTIFIER ユーザー データベースに対応する現在の物理データベースの一意識別子。 データベース サービス レベル目標を変更すると、この値が変更されます。
server_name nvarchar 論理サーバー名。
database_name nvarchar ユーザー データベース名。
slo_name nvarchar ハードウェアの生成を含むサービス レベルの目標。
dtu_limit int データベースの DTU 制限 (仮想コアの場合は NULL)。
cpu_limit int データベースの仮想コア制限 (DTU データベースの場合は NULL)。
min_cpu tinyint ユーザー ワークロード リソース プールのMIN_CPU_PERCENT値。 リソース プールの概念を参照してください
max_cpu tinyint ユーザー ワークロード リソース プールのMAX_CPU_PERCENT値。 リソース プールの概念を参照してください
cap_cpu tinyint ユーザー ワークロード リソース プールのCAP_CPU_PERCENT値。 リソース プールの概念を参照してください
min_cores smallint 内部のみで使用します。
max_dop smallint ユーザー ワークロード グループのMAX_DOP値。 ワークロード グループの作成を参照してください
min_memory int ユーザー ワークロード リソース プールのMIN_MEMORY_PERCENT値。 リソース プールの概念を参照してください
max_memory int ユーザー ワークロード リソース プールのMAX_MEMORY_PERCENT値。 リソース プールの概念を参照してください
max_sessions int ユーザー ワークロード グループで許可されるセッションの最大数。
max_memory_grant int ユーザー ワークロード グループのREQUEST_MAX_MEMORY_GRANT_PERCENT値。 ワークロード グループの作成を参照してください
max_db_memory int 内部のみで使用します。
govern_background_io bit 内部のみで使用します。
min_db_max_size_in_mb bigint データ ファイルの最小max_size値 (MB (メガバイト))。 sys.database_filesを参照してください
max_db_max_size_in_mb bigint データ ファイルの最大max_size値 (MB (メガバイト))。 sys.database_filesを参照してください
default_db_max_size_in_mb bigint データ ファイルの既定のmax_size値 (MB (メガバイト))。 sys.database_filesを参照してください
db_file_growth_in_mb bigint データ ファイルの既定の増加増分 (MB (メガバイト)単位)。 sys.database_filesを参照してください
initial_db_file_size_in_mb bigint 新しいデータ ファイルの既定のサイズ (MB (メガバイト))。 sys.database_filesを参照してください
log_size_in_mb bigint 新しいログ ファイルの既定のサイズ (MB (メガバイト))。 sys.database_filesを参照してください
instance_cap_cpu int 内部のみで使用します。
instance_max_log_rate bigint SQL Server インスタンスのログ生成レート制限 (1 秒あたりのバイト数)。 インスタンスによって生成されたすべてのログ (その他のシステム データベースを含む tempdb ) に適用されます。 エラスティック プールでは、プール内のすべてのデータベースによって生成されたログに適用されます。
instance_max_worker_threads int SQL Server インスタンスのワーカー スレッドの制限。
replica_type int レプリカの種類 (0 はプライマリ、1 はセカンダリ)。
max_transaction_size bigint 任意のトランザクションで使用される最大ログ領域 (KB (キロバイト))。
チェックpoint_rate_mbps int 内部のみで使用します。
チェックpoint_rate_io int 内部のみで使用します。
last_updated_date_utc datetime 最後の設定の変更または再構成の日付と時刻 (UTC)。
primary_group_id int プライマリ レプリカとセカンダリ レプリカ上のユーザー ワークロードのワークロード グループ ID。
primary_group_max_workers int ユーザー ワークロード グループのワーカー スレッドの制限。
primary_min_log_rate bigint ユーザー ワークロード グループ レベルでの 1 秒あたりの最小ログ レート (バイト単位)。 リソース ガバナンスでは、この値を下回るログ レートの削減は試行されません。
primary_max_log_rate bigint ユーザー ワークロード グループ レベルでの 1 秒あたりの最大ログ レート (バイト単位)。 リソース ガバナンスでは、この値を超えてログ レートを使用することはできません。
primary_group_min_io int ユーザー ワークロード グループの最小 IOPS。 リソース ガバナンスでは、この値を下回る IOPS の削減は試行されません。
primary_group_max_io int ユーザー ワークロード グループの最大 IOPS。 リソース ガバナンスでは、この値を超えて IOPS を使用することはできません。
primary_group_min_cpu float ユーザー ワークロード グループ レベルの最小 CPU 使用率。 リソース ガバナンスでは、この値を下回る CPU 使用率の削減は試行されません。
primary_group_max_cpu float ユーザー ワークロード グループ レベルの最大 CPU 使用率。 リソース ガバナンスでは、この値を超えて CPU 使用率を使用することはできません。
primary_log_commit_fee int ユーザー ワークロード グループのログ レート ガバナンスコミット料金 (バイト単位)。 コミット料金は、ログ レートアカウンティングのみを目的として、各ログ IO のサイズを固定値だけ増やします。 ストレージへの実際のログ IO は増加しません。
primary_pool_max_workers int ユーザー ワークロード リソース プールのワーカー スレッドの制限。
pool_max_io int ユーザー ワークロード リソース プールの最大 IOPS 制限。
govern_db_memory_in_resource_pool bit 内部のみで使用します。
volume_local_iops int 内部のみで使用します。
volume_managed_xstore_iops int 内部のみで使用します。
volume_external_xstore_iops int 内部のみで使用します。
volume_type_local_iops int 内部のみで使用します。
volume_type_managed_xstore_iops int 内部のみで使用します。
volume_type_external_xstore_iops int 内部のみで使用します。
volume_pfs_iops int 内部のみで使用します。
volume_type_pfs_iops int 内部のみで使用します。
user_data_directory_space_quota_mb int データベース エンジン インスタンスの最大ローカル ストレージ。 記憶域スペースのガバナンスを参照してください
user_data_directory_space_usage_mb int データ ファイル、トランザクション ログ ファイル、および 'tempdb' ファイルによる現在のローカル ストレージ使用量。 5 分ごとに更新されます。
bufferpool_extension_size_gb int 内部のみで使用します。
pool_max_log_rate bigint ユーザー リソース プール レベルでの 1 秒あたりの最大ログ レート (バイト単位)。 リソース ガバナンスでは、リソース プール内のすべてのワークロード グループの合計ログ レートがこの値を超えるわけではありません。
primary_group_max_outbound_connection_workers int プライマリ ユーザー ワークロード グループの送信接続ワーカー スレッドの制限。
primary_pool_max_outbound_connection_workers int ユーザー ワークロード リソース プールの送信接続ワーカー スレッドの制限。
replica_role tinyint 現在のレプリカ ロールを表します。

0 - プライマリ
1 - 高可用性 (HA) セカンダリ
2 - geo レプリケーション フォワーダー
3 - ReadOnly 意図で読み取り可能なセカンダリに接続されている場合の名前付きレプリカ

レポート 1。 ReadOnly 意図を指定せずに geo セカンダリに接続する場合は、geo レプリケーション フォワーダーへの接続を反映するように 2 を報告します。 ReadOnly 意図を指定せずに名前付きレプリカに接続すると、3 が報告されます。

アクセス許可

SQL Database の BasicS0S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

解説

Azure SQL Database のリソース ガバナンスの詳細については、SQL Database のリソース制限に関するページを参照してください

重要

この DMV によって返されるデータのほとんどは内部消費を目的としており、いつでも変更される可能性があります。

次のクエリは、ユーザー データベースのコンテキストで実行され、ユーザー ワークロード グループとリソース プール レベルで最大ログ レートと最大 IOPS を返します。 単一データベースの場合、1 つの行が返されます。 エラスティック プール内のデータベースの場合、プール内のデータベースごとに行が返されます。

SELECT database_name,
       primary_group_id,
       primary_max_log_rate,
       primary_group_max_io,
       pool_max_io
FROM sys.dm_user_db_resource_governance
ORDER BY database_name;  

次のステップ