Dela via


sys.dm_db_resource_stats

Gäller för:Azure SQL DatabaseSQL-databas i Förhandsversion av Microsoft Fabric

Returnerar PROCESSOR-, I/O- och minnesförbrukning för en databas i Azure SQL Database. Det finns en rad var 15:e sekund, även om det inte finns någon aktivitet. Historiska data bevaras i ungefär en timme.

Anmärkning

sys.dm_db_resource_stats stöds inte i Azure SQL Managed Instance. Använd sys.server_resource_stats katalogvyn i stället.

Columns Datatyp Description
end_time datetime UTC-tid anger slutet på det aktuella rapporteringsintervallet.
avg_cpu_percent decimal (5,2) Genomsnittlig beräkningsanvändning i procent av gränsen för tjänstnivån.
avg_data_io_percent decimal (5,2) Genomsnittlig I/O-användning av data i procent av gränsen för tjänstnivån. Information om Hyperskala-databaser finns i Data-I/O i resursanvändningsstatistik.
avg_log_write_percent decimal (5,2) Genomsnittlig transaktionsloggskrivning (i MB/s) som procentandel av tjänstnivågränsen.
avg_memory_usage_percent decimal (5,2) Genomsnittlig minnesanvändning i procent av gränsen för tjänstnivån.

Detta inkluderar minne som används för buffertpoolsidor och lagring av In-Memory OLTP-objekt.
xtp_storage_percent decimal (5,2) Lagringsanvändning för In-Memory OLTP som en procentandel av poolgränsen i slutet av rapporteringsintervallet. Detta inkluderar minne som används för lagring av följande In-Memory OLTP-objekt: minnesoptimerade tabeller, index och tabellvariabler. Den innehåller även minne som används för bearbetning av ALTER TABLE-åtgärder i minnesoptimerade tabeller.

Returnerar 0 om In-Memory OLTP inte används i databasen.
max_worker_percent decimal (5,2) Maximalt antal samtidiga arbetare (begäranden) i procent av gränsen för databasens tjänstnivå.
max_session_percent decimal (5,2) Maximalt antal samtidiga sessioner i procent av gränsen för databasens tjänstnivå.
dtu_limit int Aktuell maxinställning för databas-DTU för den här databasen under det här intervallet. För databaser som använder den vCore-baserade modellen är NULLden här kolumnen .
cpu_limit decimal (5,2) Antal virtuella kärnor för den här databasen under det här intervallet. För databaser som använder den DTU-baserade modellen är NULLden här kolumnen .
avg_instance_cpu_percent decimal (5,2) Genomsnittlig CPU-användning av databasmotorinstansen som är värd för poolen, som en procentandel av instansgränsen. Rapporteras med en minuts kornighet och inkluderar CPU-användning av både användar- och interna arbetsbelastningar.
avg_instance_memory_percent decimal (5,2) Genomsnittlig minnesanvändning för SQL Server-instansen som är värd för databasen. Inkluderar minnesanvändning av både användare och interna arbetsbelastningar.
avg_login_rate_percent decimal (5,2) Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.
replica_role int Representerar den aktuella replikrollen.

0 – Primär
1 – Hög tillgänglighet (HA) sekundär
2 – Vidarebefordrare för geo-replikering
3 – Namngiven replik

Rapporterar 1 när de är anslutna med ReadOnly avsikt till alla läsbara sekundära. Om du ansluter till en geo-sekundär utan att ReadOnly ange avsikt, rapporterar 2 för att återspegla en anslutning till en geo-replikeringsvidare. Om du ansluter till en namngiven replik utan att ReadOnly ange avsikt, rapporterar 3.

Tips/Råd

Mer kontext om dessa gränser och tjänstnivåer finns i avsnitten tjänstnivåer, manuellt finjustera frågeprestanda i Azure SQL Database och SQL Database-resursgränser och resursstyrning.

Permissions

Den här vyn kräver VIEW DATABASE STATE behörighet.

Anmärkningar

De data som returneras av sys.dm_db_resource_stats uttrycks som en procentandel av de högsta tillåtna gränserna för den tjänstnivå/prestandanivå som du kör.

Om databasen redundansväxades till en annan server under de senaste 60 minuterna returnerar vyn endast data för tiden sedan redundansväxlingen.

Om du vill ha en mindre detaljerad vy över dessa data med längre kvarhållningsperiod använder du sys.resource_stats katalogvyn i Azure SQL Database. Den här vyn samlar in data var femte minut och underhåller historiska data i 14 dagar. Mer information finns i sys.resource_stats.

När en databas är medlem i en elastisk pool uttrycks resursstatistik som procentvärden som procentandelen av maxgränsen för databaserna enligt konfigurationen för elastisk pool.

Examples

I följande exempel returneras resursanvändningsdata som sorterats efter den senaste tiden för den för närvarande anslutna databasen i Azure SQL Database eller Azure SQL Managed Instance.

SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;

I följande exempel identifieras den genomsnittliga DTU-förbrukningen i form av en procentandel av den högsta tillåtna DTU-gränsen i prestandanivån för användardatabasen under den senaste timmen. Överväg att öka prestandanivån eftersom dessa procentandelar nära 100% på ett konsekvent sätt.

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;

I följande exempel returneras medelvärdet och maxvärdena för CPU-procent, data och logg-I/O samt minnesförbrukning under den senaste timmen.

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;