Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Returnerar sid- och radräkningsinformation för varje partition i den aktuella databasen.
Anmärkning
Om du vill anropa detta från Azure Synapse Analytics eller Analytics Platform System (PDW) använder du namnet sys.dm_pdw_nodes_db_partition_stats. Den partition_id i sys.dm_pdw_nodes_db_partition_stats skiljer sig från partition_id i sys.partitions katalogvyn för Azure Synapse Analytics. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
partition_id |
bigint | ID för partitionen. Detta är unikt i en databas. Detta är samma värde som partition_id i sys.partitions katalogvyn, förutom Azure Synapse Analytics. |
object_id |
int | Objekt-ID för tabellen eller den indexerade vyn som partitionen ingår i. |
index_id |
int | ID för heapen eller indexet som partitionen ingår i. 0 = Heap 1 = Klustrat index. > 1 = Icke-grupperat index |
partition_number |
int | 1-baserat partitionsnummer i indexet eller heapen. |
in_row_data_page_count |
bigint | Antal sidor som används för att lagra raddata i denna partition. Om partitionen är en del av en heap är värdet antalet datasidor i heapen. Om partitionen är en del av ett index är värdet antalet sidor på bladnivå. (Icke-bladiga sidor i B+-trädet ingår inte i räkningen.) IAM (Index Allocation Map)-sidor ingår inte i något av fallen. Alltid 0 för ett xVelocity-minnesoptimerat kolumnlagringsindex. |
in_row_used_page_count |
bigint | Totalt antal sidor som används för att lagra och hantera raddata i denna partition. Denna räkning inkluderar icke-bladiga B+ trädsidor, IAM-sidor och alla sidor som ingår i kolumnen in_row_data_page_count . Alltid 0 för ett kolumnstore-index. |
in_row_reserved_page_count |
bigint | Totalt antal sidor reserverade för lagring och hantering av raddata i denna partition, oavsett om sidorna används eller inte. Alltid 0 för ett kolumnstore-index. |
lob_used_page_count |
bigint | Antal sidor som används för att lagra och hantera text utanför raden, ntext, bild, varchar(max),nvarchar(max),varbinary(max) och xml-kolumner inom partitionen. IAM-sidor ingår. Totalt antal LOB:er som används för att lagra och hantera kolumnlagringsindex i partitionen. |
lob_reserved_page_count |
bigint | Totalt antal sidor reserverade för lagring och hantering av text, ntext, bild, varchar(max),nvarchar(max), varbinary(max) och xml-kolumner inom partitionen, oavsett om sidorna används eller inte. IAM-sidor ingår. Totalt antal LOB:er reserverade för lagring och hantering av ett kolumnlagringsindex i partitionen. |
row_overflow_used_page_count |
bigint | Antal sidor som används för att lagra och hantera radöverflöd varchar, nvarchar, varbinär och sql_variant kolumner inom partitionen. IAM-sidor ingår. Alltid 0 för ett kolumnstore-index. |
row_overflow_reserved_page_count |
bigint | Totalt antal sidor reserverade för lagring och hantering av radöverskridande varchar, nvarchar, varbinär och sql_variant kolumner inom partitionen, oavsett om sidorna används eller inte. IAM-sidor ingår. Alltid 0 för ett kolumnstore-index. |
used_page_count |
bigint | Totalt antal sidor som används för partitionen. Beräknat som in_row_used_page_count + lob_used_page_count + row_overflow_used_page_count. |
reserved_page_count |
bigint | Totalt antal sidor reserverade för partitionen. Beräknat som in_row_reserved_page_count + lob_reserved_page_count + row_overflow_reserved_page_count. |
row_count |
bigint | Det ungefärliga antalet rader i partitionen. |
pdw_node_id |
int |
gäller för: Azure Synapse Analytics, Analytics Platform System (PDW) Identifieraren för noden som den här fördelningen är på. |
distribution_id |
int |
gäller för: Azure Synapse Analytics, Analytics Platform System (PDW) Det unika numeriska ID:t som är kopplat till fördelningen. |
Anmärkningar
Den dynamiska sys.dm_db_partition_stats hanteringsvyn (DMV) visar information om det utrymme som används för att lagra och hantera raddata, LOB-data och radöverflödesdata för alla partitioner i en databas. En rad visas per partition.
De räkningar som utgången baseras på är cachade i minnet eller lagras på disk i olika systemtabeller.
In-row-data, LOB-data och row-overflow-data representerar de tre allokeringsenheter som utgör en partition. Den sys.allocation_units katalogvyn kan efterfrågas för metadata om varje allokeringsenhet i databasen.
Om en heap eller index inte är partitionerad, består den av en partition (med partitionsnummer = 1); därför returneras endast en rad för den heapen eller indexet. Sys.partitions-katalogvyn kan efterfrågas för metadata om varje partition i alla tabeller och index i en databas.
Det totala antalet för en enskild tabell eller ett index kan erhållas genom att addera räkningarna för alla relevanta partitioner.
Permissions
Kräver VIEW DATABASE STATE och VIEW DEFINITION behörigheter för att fråga den dynamiska sys.dm_db_partition_stats hanteringsvyn. För mer information om behörigheter för dynamiska hanteringsvyer, se Dynamiska hanteringsvyer och funktioner (Transact-SQL).
Behörigheter för SQL Server 2022 och senare
Kräver behörigheter VIEW DATABASE PERFORMANCE STATE och VIEW SECURITY DEFINITION.
Examples
A. Returnera alla räkningar för alla partitioner av alla index och heaps i en databas
Följande exempel visar alla räkningar för alla partitioner av alla index och heaps i AdventureWorks2025-databasen.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO
B. Returnera alla räkningar för alla partitioner av en tabell och dess index
Följande exempel visar alla räkningar för alla partitioner av HumanResources.Employee tabellen och dess index.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO
C. Returnera totalt antal använda sidor och totalt antal rader för ett heap- eller klustrat index
Följande exempel visar totalt antal använda sidor och totalt antal rader för heapen eller det klustrade indexet i tabellen HumanResources.Employee . Eftersom Employee tabellen inte är partitionerad som standard, observera att summan endast inkluderar en partition.
USE AdventureWorks2022;
GO
SELECT SUM(used_page_count) AS total_number_of_used_pages,
SUM (row_count) AS total_number_of_rows
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID('HumanResources.Employee') AND (index_id=0 or index_id=1);
GO