sys.partitions (Transact-SQL)

Gilt für: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System (PDW)

Enthält eine Zeile für jede Partition aller Tabellen und der meisten Indizes in der Datenbank. Besondere Indextypen wie Volltext, räumlich und XML sind in dieser Sicht nicht enthalten. Alle Tabellen und Indizes in SQL Server enthalten mindestens eine Partition, unabhängig davon, ob sie explizit partitioniert sind oder nicht.

Spaltenname Datentyp BESCHREIBUNG
partition_id bigint Gibt die Partitions-ID an. Ist innerhalb einer Datenbank eindeutig.
object_id int Gibt die ID des Objekts an, zu dem diese Partition gehört. Jede Tabelle oder Sicht besteht aus mindestens einer Partition.
index_id int Gibt die ID des Indexes innerhalb des Objekts an, zu dem diese Partition gehört.

0 = Heap
1 = gruppierter Index
2 oder höher = nicht gruppierter Index
partition_number int Eine auf 1 basierende Partitionsnummer im besitzenden Index oder Heap. Für nicht partitionierte Tabellen und Indizes ist der Wert dieser Spalte 1.
hobt_id bigint Gibt die ID des Datenheaps oder der B-Struktur (HoBT) an, die die Zeilen für diese Partition enthält.
rows bigint Gibt die ungefähre Anzahl der Zeilen in dieser Partition an.
filestream_filegroup_id smallint Gilt für: SQL Server 2012 (11.x) und höher.

Gibt die ID der auf dieser Partition gespeicherten FILESTREAM-Dateigruppe an.
data_compression tinyint Gibt den Status der Komprimierung für jede Partition an:

0 = NONE
1 = ROW
2 = PAGE
3 = COLUMNSTORE : Gilt für: SQL Server 2012 (11.x) und höher
4 = COLUMNSTORE_ARCHIVE : Gilt für: SQL Server 2014 (12.x) und höher

Hinweis: Volltextindizes werden in jeder Edition von SQL Server komprimiert.
data_compression_desc nvarchar(60) Gibt den Status der Komprimierung für jede Partition an. Mögliche Werte für rowstore-Tabellen sind NONE, ROW und PAGE. Mögliche Werte für columnstore-Tabellen sind COLUMNSTORE und COLUMNSTORE_ARCHIVE.

Berechtigungen

Erfordert die Mitgliedschaft in der public -Rolle. Weitere Informationen finden Sie unter Metadata Visibility Configuration.

Beispiele

Die folgende Abfrage gibt das gesamte Objekt in einer Datenbank, den in jedem Objekt belegten Speicherplatz und partitionsbezogene Informationen zu den einzelnen Objekten zurück.

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;

Weitere Informationen

Katalogsichten für Objekte (Transact-SQL)
Katalogsichten (Transact-SQL)
FAQ: Abfragen des SQL Server-Systemkatalogs