Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Sistema di Piattaforma Analitica (PDW)
Database SQL in Microsoft Fabric
Restituisce informazioni relative al conteggio di pagine e righe per ogni partizione nel database corrente.
Nota
Per chiamare questa operazione da Azure Synapse Analytics o da Platform System (PDW), usare il nome sys.dm_pdw_nodes_db_partition_stats. Il partition_id in sys.dm_pdw_nodes_db_partition_stats differisce dal partition_id nella vista del sys.partitions catalogo per Azure Synapse Analytics. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.
| Nome colonna | Tipo di dati | Descrizione |
|---|---|---|
partition_id |
bigint | ID della partizione. Valore univoco all'interno di un database. Questo è lo stesso valore di partition_id nella vista del sys.partitions catalogo, ad eccezione di Azure Synapse Analytics. |
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. Le pagine non foglia nell'albero B+ non sono incluse nel conteggio. Le pagine IAM (Index Allocation Map) non sono incluse in entrambi i casi. Sempre 0 per un indice columnstore con ottimizzazione per la 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 ad albero B+ nonaf, 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 in uso per l'archiviazione e la gestione di testo fuori riga, ntext, image, varchar(max), nvarchar(max), varbinary(max)e colonne xml all'interno della 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 di testo fuori riga, ntext, image, varchar(max), nvarchar(max), varbinary(max)e xml all'interno della partizione, indipendentemente dal fatto che le pagine siano in uso 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 in uso per l'archiviazione e la gestione di righe-overflow varchar, nvarchar, varbinary e sql_variant colonne all'interno della 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 di righe-overflow varchar, nvarchar, varbinary e sql_variant colonne all'interno della partizione, indipendentemente dal fatto che le pagine siano in uso 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 row_overflow_used_page_count lob_used_page_count + di in_row_used_page_count. + |
reserved_page_count |
bigint | Numero totale di pagine riservate per la partizione Calcolato come + + |
row_count |
bigint | Numero approssimato di righe nella partizione. |
pdw_node_id |
int |
Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW) Identificatore del nodo in cui è attiva la distribuzione. |
distribution_id |
int |
Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW) ID numerico univoco associato alla distribuzione. |
Osservazioni:
La sys.dm_db_partition_stats dmv (Dynamic Management View) visualizza informazioni sullo spazio usato per archiviare e gestire i dati LOB dei dati in riga 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 memorizzati nella cache o 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.
Autorizzazioni
Richiede VIEW DATABASE STATE le autorizzazioni e VIEW DEFINITION per eseguire query sulla vista a sys.dm_db_partition_stats gestione dinamica. Per altre informazioni sulle autorizzazioni per le viste a gestione dinamica, vedere Funzioni e viste a gestione dinamica (Transact-SQL).
Autorizzazioni per SQL Server 2022 e versioni successive
Richiede VIEWDATABASE permessi PERFORMANCE STATE e VIEW SECURITY DEFINITION sul database.
Esempi
R. Restituisce tutti i conteggi per tutte le partizioni di tutti gli indici e gli heap in un database
Il seguente esempio mostra tutti i conteggi per tutte le partizioni di tutti gli indici e gli heap nel database AdventureWorks2025.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO
B. Restituisce 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 AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO
C. Restituisce le pagine usate totali e il 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 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