sys.dm_db_partition_stats
Restituisce informazioni relative al conteggio di pagine e righe per ogni partizione nel database corrente.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
partition_id |
bigint |
ID della partizione. Valore univoco all'interno di un database. Corrisponde allo stesso valore di partition_id nella vista del catalogo sys.partitions. |
object_id |
int |
ID oggetto della tabella o della vista indicizzata a cui appartiene la partizione. |
index_id |
int |
ID dell'heap o dell'indice a cui appartiene la partizione. 0 = Heap 1 = Indice cluster |
partition_number |
int |
Numero di partizione in base 1 all'interno dell'indice o heap. |
in_row_data_page_count |
bigint |
Numero di pagine utilizzate per l'archiviazione di dati all'interno di righe nella partizione specifica. Se la partizione è inclusa in un heap, il valore corrisponde al numero di pagine di dati nell'heap. Se la partizione è inclusa in un indice, il valore corrisponde al numero di pagine nel livello foglia. Nel conteggio non sono incluse le pagine non foglia nella struttura b-tree. Le pagine IAM (Index Allocation Map, mappa di allocazione degli indici) non sono incluse in entrambi i casi. |
in_row_used_page_count |
bigint |
Numero totale di pagine utilizzate per archiviare e gestire i dati all'interno di righe nella partizione corrente. Questo conteggio include pagine non foglia della struttura b-tree, pagine IAM e tutte le pagine incluse nella colonna in_row_data_page_count. |
in_row_reserved_page_count |
bigint |
Numero totale di pagine riservate all'archiviazione e gestione dei dati all'interno di righe nella partizione corrente, indipendentemente dal fatto che le pagine siano utilizzate o meno. |
lob_used_page_count |
bigint |
Numero di pagine utilizzate per l'archiviazione e gestione delle colonne all'esterno di righe di tipo text, ntext, image, varchar(max), nvarchar(max), varbinary(max) e xml nella partizione. Le pagine IAM sono incluse. |
lob_reserved_page_count |
bigint |
Numero totale di pagine riservate per l'archiviazione e gestione delle colonne all'esterno di righe di tipo text, ntext, image, varchar(max), nvarchar(max), varbinary(max) e xml nella partizione, indipendentemente dal fatto che le pagine vengano utilizzate o meno. Le pagine IAM sono incluse. |
row_overflow_used_page_count |
bigint |
Numero di pagine utilizzate per l'archiviazione e gestione delle colonne di overflow della riga di tipo varchar, nvarchar, varbinary e sql_variant nella partizione. Le pagine IAM sono incluse. |
row_overflow_reserved_page_count |
bigint |
Numero totale di pagine riservate per l'archiviazione e gestione delle colonne di overflow della riga di tipo varchar, nvarchar, varbinary e sql_variant nella partizione, indipendentemente dal fatto che le pagine vengano utilizzate o meno. Le pagine IAM sono incluse. |
used_page_count |
bigint |
Numero totale di pagine utilizzate per la partizione calcolato come in_row_used_page_count + lob_used_page_count + row_overflow_used_page_count. |
reserved_page_count |
bigint |
Numero totale di pagine riservate per la partizione calcolato come in_row_reserved_page_count + lob_reserved_page_count + row_overflow_reserved_page_count. |
row_count |
bigint |
Numero di righe nella partizione. |
Osservazioni
sys.dm_db_partition_stats visualizza informazioni sullo spazio utilizzato per archiviare e gestire i dati LOB di overflow della riga per tutte le partizioni in un database. Viene visualizzata una riga per partizione.
I conteggi su cui si basa l'output vengono inseriti nella cache in memoria oppure archiviati su disco in varie tabelle di sistema.
I dati all'interno di righe, i dati LOB e i dati di overflow della riga rappresentano tre unità di allocazione che compongono una partizione. Per ulteriori informazioni sulle unità di allocazione, vedere Organizzazione di tabelle e indici. È possibile eseguire una query sulla vista del catalogo sys.allocation_units per rilevare i metadati su ciascuna unità di allocazione nel database.
Se un heap o un indice non è partizionato, esso è composto da una partizione (con numero di partizione = 1). Per tale heap o indice viene pertanto restituita solo una riga. Per ulteriori informazioni sulle partizioni, vedere Organizzazione di tabelle e indici. È possibile eseguire una query sulla vista del catalogo sys.partitions per rilevare i metadati su ciascuna partizione di tutte le tabelle e tutti gli indici in un database.
Il conteggio totale relativo a una tabella specifica o un indice specifico può essere ottenuto tramite l'aggiunta dei conteggi per tutte le partizioni rilevanti.
Autorizzazioni
È richiesta l'autorizzazione VIEW DATABASE STATE per eseguire query sulla vista a gestione dinamica sys.dm_db_partition_stats. Per ulteriori informazioni sulle autorizzazioni per le viste a gestione dinamica, vedere Funzioni e viste a gestione dinamica.
Esempi
A. Restituzione di tutti i conteggi per tutte le partizioni di tutti gli indici e heap in un database
Nell'esempio seguente vengono visualizzati tutti i conteggi per tutte le partizioni di tutti gli indici e heap nel database AdventureWorks
.
USE AdventureWorks;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO
B. Restituzione di tutti i conteggi per tutte le partizioni di una tabella e dei relativi indici
Nell'esempio seguente vengono visualizzati tutti i conteggi per tutte le partizioni della tabella HumanResources.Employee
e dei relativi indici.
USE AdventureWorks;
GO
SELECT * FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO
C. Restituzione del numero totale di pagine utilizzate e del numero totale di righe per un heap o un indice cluster
Nell'esempio seguente vengono restituiti il numero totale di pagine utilizzate e il numero totale di righe per l'heap o l'indice cluster della tabella HumanResources.Employee
. Poiché per impostazione predefinita la tabella Employee
non è partizionata, la somma include solo una partizione.
USE AdventureWorks;
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
Vedere anche
Riferimento
Funzioni e viste a gestione dinamica
Viste a gestione dinamica relative ai database
Altre risorse
Utilizzo di tipi di dati per valori di grandi dimensioni
Utilizzo dei dati di tipo text e image
Dati all'interno di righe
Dati di overflow della riga che superano 8 KB