sys.partitions (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Contiene una riga per ogni partizione di tutte le tabelle e per gran parte degli indici nel database. I tipi di indici speciali, ad esempio Full-Text, Spatial e XML, non sono inclusi in questa vista. Tutti gli indici e le tabelle di SQL Server contengono almeno una partizione, anche se non esplicitamente partizionati.

Nome colonna Tipo di dati Descrizione
partition_id bigint Indica l'ID della partizione. Valore univoco all'interno di un database.
object_id int Indica l'ID dell'oggetto a cui appartiene la partizione. Ogni tabella o vista è costituita da almeno una partizione.
index_id int Indica l'ID dell'indice nell'oggetto a cui appartiene la partizione.

0 = heap
1 = indice cluster
2 o maggiore = indice non cluster
partition_number int Numero di partizione in base 1 all'interno dell'indice o dell'heap di appartenenza. Per le tabelle o gli indici non partizionati, il valore di questa colonna è 1.
hobt_id bigint Indica l'ID del heap o albero B dati (HoBT) che contiene le righe per la partizione.
rows bigint Indica il numero approssimativo di righe nella partizione.
filestream_filegroup_id smallint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Indica l'ID del filegroup FILESTREAM archiviato su questa partizione.
data_compression tinyint Indica lo stato di compressione per ogni partizione:

0 = NONE
1 = ROW
2 = PAGE
3 = COLUMNSTORE: si applica a: SQL Server 2012 (11.x) e versioni successive
4 = COLUMNSTORE_ARCHIVE: si applica a: SQL Server 2014 (12.x) e versioni successive

Nota: Gli indici full-text verranno compressi in qualsiasi edizione di SQL Server.
data_compression_desc nvarchar(60) Indica lo stato di compressione per ogni partizione. I valori possibili per le tabelle rowstore sono NONE, ROW e PAGE. I valori possibili per le tabelle columnstore sono COLUMNSTORE e COLUMNSTORE_ARCHIVE.

Autorizzazioni

È richiesta l'appartenenza al ruolo public . Per altre informazioni, vedere Metadata Visibility Configuration.

Esempi

La query seguente restituisce tutto l'oggetto in un database, la quantità di spazio utilizzata in ogni oggetto e le informazioni di partizione correlate a ogni oggetto.

SELECT object_name(object_id) AS ObjectName,
total_pages / 128. AS SpaceUsed_MB,
p.partition_id,
p.object_id,
p.index_id,
p.partition_number,
p.rows,
p.data_compression_desc
FROM sys.partitions AS p
JOIN sys.allocation_units AS au ON p.partition_id = au.container_id
ORDER BY SpaceUsed_MB DESC;

Vedere anche

Viste del catalogo dell'oggetto (Transact-SQL)
Viste del catalogo (Transact-SQL)
Domande frequenti sull'esecuzione di query sul catalogo di sistema di SQL Server