Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Minden partícióhoz az aktuális adatbázisban oldal- és sorszám információkat ad.
Megjegyzés:
Ha ezt az Azure Synapse Analytics vagy az Analytics Platform System (PDW) szolgáltatásból szeretné meghívni, használja a nevet sys.dm_pdw_nodes_db_partition_stats. A partition_id eltér sys.dm_pdw_nodes_db_partition_stats az Azure Synapse Analytics katalógus nézetében szereplő partition_id-től sys.partitions . Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
| Oszlop név | Adattípus | Description |
|---|---|---|
partition_id |
bigint | A partíció azonosítója. Ez egyedi az adatbázisban. Ez ugyanaz az érték, mint partition_id a sys.partitions katalógus nézetben, kivéve Azure Synapse Analytics-et. |
object_id |
int | A tag vagy indexelt nézet objektumazonosítója, amelynek a partíció része. |
index_id |
int | Az a halom vagy index azonosítója, amelynek a partíció része. 0 = Halom 1 = Klaszterelt index. > 1 = Nemclustered index |
partition_number |
int | 1-alapú partíciószám az indexben vagy halomban. |
in_row_data_page_count |
bigint | A soros adatok tárolására használt oldalak száma ebben a partícióban. Ha a partíció egy halom része, akkor az érték az adatoldalak száma a halomban. Ha a partíció egy index része, akkor az érték a levél szintjén lévő oldalak száma. (A B+ fa nem leveles oldalai nem szerepelnek a számban.) Az IAM (Index Allocation Map) oldalak egyik esetben sem szerepelnek. Mindig 0 egy xVelocity memóriaoptimalizált oszloptároló indexhez. |
in_row_used_page_count |
bigint | A soros adatok tárolására és kezelésére használt oldalak összesen száma ebben a partícióban. Ez a szám tartalmazza a nem leveles B+ fa oldalakat, az IAM oldalakat és az in_row_data_page_count oszlopban szereplő összes oldalt. Mindig 0 egy oszlopáruház indexhez. |
in_row_reserved_page_count |
bigint | Az összes oldalszám, amelyet soros adatok tárolására és kezelésére tartanak fenn ezen a partíción, függetlenül attól, hogy az oldalak használatban vannak-e vagy sem. Mindig 0 egy oszlopáruház indexhez. |
lob_used_page_count |
bigint | A soron kívüli szöveg, ntext, image, varchar(max), nvarchar(max), varbinary(max) és xml oszlopok tárolására és kezelésére használt oldalak száma a partíción belül. Az IAM oldalak is benne vannak. A rakódtároló index tárolására és kezelésére használt LOB-ok teljes száma a partíción. |
lob_reserved_page_count |
bigint | Az oldal teljes száma, amelyet a soron kívüli szöveg, ntext, image, varchar(max),nvarchar(max), varbinary(max) és xml oszlopok tárolására és kezelésére fenntartanak a partíción belül, függetlenül attól, hogy az oldalak használatban vannak-e vagy sem. Az IAM oldalak is benne vannak. A rakóraktár index tárolására és kezelésére fenntartott LOB-k teljes száma a partícióban. |
row_overflow_used_page_count |
bigint | A sortúlterhelés varchar, nvarchar, varbináris és sql_variant oszlop tárolására és kezelésére használt oldalak száma a partíción belül. Az IAM oldalak is benne vannak. Mindig 0 egy oszlopáruház indexhez. |
row_overflow_reserved_page_count |
bigint | A sortúlterhelés varchar, nvarchar, varbinary és sql_variant oszlopok tárolására és kezelésére fenntartott oldalak teljes száma a partíción belül, függetlenül attól, hogy az oldalak használatban vannak-e vagy sem. Az IAM oldalak is benne vannak. Mindig 0 egy oszlopáruház indexhez. |
used_page_count |
bigint | A partícióhoz használt oldalak teljes száma. Úgy számolva, hogy in_row_used_page_count + lob_used_page_count + row_overflow_used_page_count. |
reserved_page_count |
bigint | A partícióra fenntartott összes oldalszám. Úgy számolva, hogy in_row_reserved_page_count + lob_reserved_page_count + row_overflow_reserved_page_count. |
row_count |
bigint | A partícióban lévő sorok közelítő száma. |
pdw_node_id |
int |
A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW) Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található. |
distribution_id |
int |
A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW) Az eloszláshoz tartozó egyedi numerikus azonosító. |
Megjegyzések
A sys.dm_db_partition_stats dinamikus menedzsment nézet (DMV) információkat jelenít meg arról a térről, amelyet soron belüli adat, LOB adatok, valamint sor-túlterhelési adatok tárolására és kezelésére használnak az adatbázis összes partíciójánál. Minden partíciónként egy sor jelenik meg.
A kimenet alapján készült számokat memóriaban tárolják vagy különböző rendszertáblákban tárolják a lemezen.
A sorbeli adatok, LOB adatok és sor-túlterhelés adatok a három allokációs egységet képviselik, amelyek egy partíciót alkotnak. A sys.allocation_units katalógusnézet minden egyes alallokációs egységről metaadatokat kérhet az adatbázisban.
Ha egy halom vagy index nincs partíciózva, akkor egy partícióból áll (a partíciószám = 1); ezért csak egy sor tér vissza az adott halom vagy index. A sys.partitions katalógusnézet minden egyes táblázat és index partíciójáról metaadatokat kérhet.
Az egyes táblázatok vagy indexek teljes száma az összes releváns partíció összeadásával kapható ki.
Permissions
A dinamikus menedzsment nézet lekérdezéséhez szükséges VIEW DATABASE STATE és VIEW DEFINITION jogosultságok sys.dm_db_partition_stats . További információért a dinamikus menedzsment nézetek jogosultságairól lásd a Dinamikus menedzsment nézeteket és funkciókat (Transact-SQL).
Engedélyek az SQL Server 2022-hez és újabb verziókhoz
VIEW DATABASE PERFORMANCE STATE és VIEW SECURITY DEFINITION engedélyeket igényel az adatbázison.
Példák
A. Vissza az összes indexet és halom minden partícióját egy adatbázisban
A következő példa az összes indexet és halom felosztását mutatja az AdventureWorks2025 adatbázisban.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO
B. Visszaadjuk az összes számot egy tábla és annak indexei minden partíciójához
Az alábbi példa a táblázat és indexei minden partíciójának HumanResources.Employee összes számát mutatja.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO
C. Visszaadja az összes használt oldalt és a sorok teljes számát egy halomhoz vagy klaszterezett indexhez
A következő példa adja vissza a HumanResources.Employee használt oldalak összességét és a táblázat halom vagy klaszterelt indexének összes sorszámát. Mivel a Employee tábla alapértelmezés szerint nincs felosztva, fontos megjegyezni, hogy az összeg csak egy partíciót tartalmaz.
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