sys.dm_user_db_resource_governance (Transact-SQL)
適用於: SQL Server Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)
傳回目前資料庫或彈性集區中資源治理機制所使用的實際組態和容量設定。
對於單一資料庫,會傳回目前資料庫的單一數據列。 針對彈性集區,如果呼叫端持有 或許可權,則傳回每個資料庫的數據列,如果呼叫端持有 VIEW DATABASE STATE
VIEW SERVER STATE
或 VIEW DATABASE PERFORMANCE STATE
VIEW SERVER PERFORMANCE STATE
許可權,則傳回彈性集區中所有資料庫的數據列。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
database_id | int | 資料庫標識碼、資料庫內或彈性集區內的唯一標識碼,但不在邏輯伺服器內。 如需詳細資訊,請參閱 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值。 請參閱 CREATE WORKLOAD GROUP。 |
min_memory | int | 使用者工作負載資源集區的MIN_MEMORY_PERCENT值。 請參閱 資源集區概念。 |
max_memory | int | 使用者工作負載資源集區的MAX_MEMORY_PERCENT值。 請參閱 資源集區概念。 |
max_sessions | int | 使用者工作負載群組中允許的會話數目上限。 |
max_memory_grant | int | 使用者工作負載群組REQUEST_MAX_MEMORY_GRANT_PERCENT值。 請參閱 CREATE WORKLOAD GROUP。 |
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 實例的記錄產生速率限制,以每秒位元組為單位。 適用於實例所產生的所有記錄,包括 tempdb 和其他系統資料庫。 在彈性集區中,適用於集區中所有資料庫所產生的記錄。 |
instance_max_worker_threads | int | SQL Server 實例的背景工作線程限制。 |
replica_type | int | 復本類型,其中0為主要,1 為次要。 |
max_transaction_size | bigint | 任何交易所使用的記錄空間上限,以 KB 為單位。 |
checkpoint_rate_mbps | int | 僅供內部使用。 |
checkpoint_rate_io | int | 僅供內部使用。 |
last_updated_date_utc | Datetime | 最後一個設定的日期和時間會以UTC變更或重新設定。 |
primary_group_id | int | 主要復本和次要複本上使用者工作負載的工作負載群組標識碼。 |
primary_group_max_workers | int | 使用者工作負載群組的背景工作線程限制。 |
primary_min_log_rate | bigint | 使用者工作負載群組層級每秒以位元組為單位的最低記錄速率。 資源控管不會嘗試降低低於此值的記錄速率。 |
primary_max_log_rate | bigint | 使用者工作負載群組層級每秒以位元組為單位的最大記錄速率。 資源控管不允許高於此值的記錄速率。 |
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 | 用戶資源集區層級每秒以位元組為單位的最大記錄速率。 資源控管不允許資源集區中所有工作負載群組的總記錄速率高於此值。 |
primary_group_max_outbound_connection_workers | int | 主要使用者工作負載群組的輸出連線背景工作線程限制。 |
primary_pool_max_outbound_connection_workers | int | 使用者工作負載資源集區的輸出連線背景工作線程限制。 |
replica_role | tinyint | 表示目前的復本角色。 0 - 主要 1 - 高可用性 (HA) 次要 2 - 異地復寫轉寄站 3 - 具名複 本報告 1 時,與 ReadOnly 意圖連線到任何 可讀取的次要複本。 如果在未指定 ReadOnly 意圖的情況下連線到異地輔助資料庫,則報告 2 以反映異地復寫轉寄站的連線。 如果在未指定 ReadOnly 意圖的情況下連接到具名複本,則報告 3。 |
權限
在 SQL Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##
伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE
權限或 ##MS_ServerStateReader##
伺服器角色的成員資格。
備註
如需 Azure SQL 資料庫 中資源控管的描述,請參閱 SQL 資料庫 資源限制。
重要
此 DMV 所傳回的大部分數據都是供內部取用,而且隨時可能會變更。
範例
下列查詢會在使用者資料庫的內容中執行,傳回使用者工作負載群組和資源集區層級的最大記錄速率和最大 IOPS。 針對單一資料庫,會傳回一個資料列。 針對彈性集區中的資料庫,會針對集區中的每個資料庫傳回一個資料列。
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;
下一步
- 資源管理員
- sys.dm_resource_governor_resource_pools (Transact-SQL)
- sys.dm_resource_governor_workload_groups (Transact-SQL)
- sys.dm_resource_governor_resource_pools_history_ex (Transact-SQL)
- sys.dm_resource_governor_workload_groups_history_ex (Azure SQL 資料庫)
- 事務歷史記錄速率控管
- 單一資料庫 DTU 資源限制
- 單一資料庫虛擬核心資源限制
- 彈性集區虛擬核心資源限制