sys.resource_stats (Azure SQL Database)

適用於:Azure SQL Database

傳回 Azure SQL Database 中資料庫的 CPU 使用量和儲存資料。 於五分鐘間隔內收集及彙總資料。 針對每個用戶資料庫,每五分鐘報告視窗會有一個數據列,其中資源耗用量有所變更。 傳回的數據包括 CPU 使用量、記憶體大小變更,以及資料庫 SKU 修改。 沒有變更的閑置資料庫可能每五分鐘間隔沒有數據列。 歷程記錄資料大約會保留 14 天。

注意

此動態管理檢視僅適用於 Azure SQL 資料庫。 針對對等檢視 Azure SQL 受控執行個體,請使用 sys.server_resource_stats

資料行 資料類型 描述
start_time datetime 指出五分鐘報告間隔開始的UTC時間。
end_time datetime 指出五分鐘報告間隔結束的UTC時間。
database_name nvarchar(128) 用戶資料庫的名稱。
SKU nvarchar(128) 資料庫的服務層級。 以下是可能的值:

基本

Standard

Premium

一般用途

業務關鍵
storage_in_megabytes float 時間週期的記憶體大小上限,包括資料庫數據、索引、預存程式和元數據。
avg_cpu_percent 十進位(5,2) 服務層級限制百分比的平均計算使用率。
avg_data_io_percent 十進位(5,2) 根據服務層級的限制,以百分比表示的平均 I/O 使用率。 如需超大規模資料庫,請參閱 資源使用率統計數據中的數據IO。
avg_log_write_percent 十進位(5,2) 服務層級限制百分比的平均寫入資源使用率。
max_worker_percent 十進位(5,2) 根據資料庫服務層級的限制,並行背景工作角色(要求)的百分比上限。

根據並行背景工作計數的 15 秒樣本,目前會計算 5 分鐘間隔的最大值。
max_session_percent 十進位(5,2) 根據資料庫服務層級的限制,並行會話的百分比上限。

根據並行會話計數的 15 秒樣本,目前會計算 5 分鐘間隔的最大值。
dtu_limit int 此資料庫的目前最大資料庫 DTU 設定在此間隔期間。
xtp_storage_percent 十進位 (5,2) 儲存體 記憶體內部 OLTP 的使用率,以服務層級的限制百分比表示(在報告間隔結束時)。 這包括用於儲存下列記憶體內部 OLTP 物件的記憶體:記憶體優化數據表、索引和數據表變數。 它也包含用於處理 ALTER TABLE 作業的記憶體。 如需詳細資訊,請參閱 監視記憶體內部 OLTP

如果未在資料庫中使用記憶體內部 OLTP,則傳回 0。
avg_login_rate_percent 十進位 (5,2) 僅供參考之用。 不支援。 我們無法保證未來的相容性。
avg_instance_cpu_percent 十進位 (5,2) 以 SQL 資料庫進程百分比表示的平均資料庫 CPU 使用量。
avg_instance_memory_percent 十進位 (5,2) 以 SQL 資料庫 進程百分比表示的平均資料庫記憶體使用量。
cpu_limit 十進位 (5,2) 在此間隔期間,此資料庫的虛擬核心數目。 對於使用以 DTU 為基礎的模型的資料庫,此數據行為 NULL。
allocated_storage_in_megabytes float 以 MB 為單位格式化的檔案空間數量,可供儲存資料庫數據。 格式化的檔案空間也稱為已配置的數據空間。 如需詳細資訊,請參閱:SQL 資料庫 中的檔案空間管理

提示

如需這些限制和服務層級的詳細資訊,請參閱服務層級主題

權限

在 Azure SQL 資料庫 中,此檢視可供具有連線至虛擬master資料庫之許可權的所有使用者角色使用。

備註

sys.resource_stats 傳回的數據會以您所執行之服務層級/效能等級所允許的最大限制百分比表示。

當資料庫是彈性集區的成員時,會顯示為百分比值的資源統計數據,會以彈性集區組態中所設定的資料庫上限百分比表示。

如需此數據更細微的檢視,請在用戶資料庫中使用 sys.dm_db_resource_stats 動態管理檢視。 此檢視會每隔 15 秒擷取數據一次,並維護 1 小時的歷史數據。 如需詳細資訊,請參閱 sys.dm_db_resource_stats (Azure SQL 資料庫)。

注意

如需使用動態管理檢視對 CPU 使用率進行疑難解答的詳細資訊,請參閱識別 Azure SQL 資料庫 效能中的 CPU 效能問題,或識別 Azure SQL 受控執行個體 效能中的 CPU 效能問題。

若要檢閱最近記憶體不足的事件,請使用 sys.dm_os_out_of_memory_events

範例

您必須連線到master邏輯伺服器上的資料庫,才能查詢 sys.resource_stats

下列範例會傳回過去一周平均 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

另請參閱

下一步

在下列文章中深入了解相關概念: