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

Guida in linea e informazioni

Assistenza su SQL Server 2005