VENDITE: 1-800-867-1389
Espandi Riduci a icona

sys.dm_db_partition_stats

Aggiornamento: aprile 2011

Questo argomento è OBSOLETO. La versione più recente è disponibile in Guida di riferimento a Transact-SQL 14.

ImportantImportante
Argomento non aggiornato. Per la versione corrente, vedere sys.dm_db_partition_stats.

Restituisce informazioni relative al conteggio di pagine e righe per ogni partizione nel database corrente.

 

Nome della 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

> 1 = Indice non 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 nell'albero B. Le pagine IAM (Index Allocation Map) non sono incluse in entrambi i casi. Sempre 0 per un indice columnstore ottimizzato in memoria xVelocity.

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 dell'albero B, pagine IAM e tutte le pagine incluse nella colonna in_row_data_page_count. Sempre 0 per un indice columnstore.

in_row_reserved_page_count

bigint

Numero totale di pagine riservate per l'archiviazione e la gestione dei dati all'interno di righe nella partizione corrente, indipendentemente dal fatto che le pagine siano utilizzate o meno. Sempre 0 per un indice columnstore.

lob_used_page_count

bigint

Numero di pagine utilizzate per l'archiviazione e la 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.

Numero totale di oggetti LOB utilizzati per archiviare e gestire un indice columnstore nella partizione.

lob_reserved_page_count

bigint

Numero totale di pagine riservate per l'archiviazione e la 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.

Numero totale di oggetti LOB riservati per l'archiviazione e la gestione di un indice columnstore nella partizione.

row_overflow_used_page_count

bigint

Numero di pagine utilizzate per l'archiviazione e la gestione delle colonne di overflow della riga di tipo varchar, nvarchar, varbinary e sql_variant nella partizione. Le pagine IAM sono incluse.

Sempre 0 per un indice columnstore.

row_overflow_reserved_page_count

bigint

Numero totale di pagine riservate per l'archiviazione e la 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.

Sempre 0 per un indice columnstore.

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 approssimato di righe nella partizione.

sys.dm_db_partition_stats visualizza informazioni sullo spazio utilizzato per archiviare e gestire i dati LOB all'interno delle righe e i dati di overflow delle righe 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. È 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. È 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.

È 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 Dynamic Management Objects.

Nell'esempio seguente vengono visualizzati tutti i conteggi per tutte le partizioni di tutti gli indici e heap nel database .

USE AdventureWorks2012;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO

Nell'esempio seguente vengono visualizzati tutti i conteggi per tutte le partizioni della tabella HumanResources.Employee e dei relativi indici.

USE AdventureWorks2012;
GO
SELECT * FROM sys.dm_db_partition_stats 
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO

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 AdventureWorks2012;
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

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.
Mostra:
© 2014 Microsoft