sys.resource_stats (Azure SQL Database)
適用於:Azure SQL 資料庫
傳回 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 中的 CPU 效能問題 SQL 資料庫 效能或識別 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
另請參閱
下一步
在下列文章中深入了解相關概念: