Freigeben über


sys.allocation_units (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance SQL-Datenbank in Microsoft Fabric

Enthält eine Zeile für jede Zuordnungseinheit in der Datenbank.

Spaltenname Datentyp Beschreibung
allocation_unit_id bigint ID der Zuordnungseinheit. Ist innerhalb einer Datenbank eindeutig.
Typ tinyint Typ der Zuordnungseinheit:

0 = Gelöscht

1 = Daten in Zeilen (alle Datentypen mit Ausnahme von LOB-Datentypen)

2 = LOB-Daten (Large Object) (text, ntext, image, xml, große Werttypen und benutzerdefinierte CLR-Typen)

3 = Zeilenüberlaufdaten
type_desc nvarchar(60) Beschreibung des Typs der Zuordnungseinheit:

ABGEWORFEN

IN_ROW_DATA

LOB_DATA

ROW_OVERFLOW_DATA
container_id bigint ID des Speichercontainers, der der Zuordnungseinheit zugeordnet ist.

Wenn Typ = 1 oder 3 in einem Rowstore-Index container_id = sys.partitions.hobt_id.

Wenn Typ = 1 oder 3 in einem Columnstore-Index ist, container_id = sys.column_store_row_groups.delta_store_hobt_id.

Wenn typ 2 ist, container_id = sys.partitions.partition_id.

0 = Für die verzögerte Löschung gekennzeichnete Zuordnungseinheit
data_space_id int ID der Dateigruppe, in der sich diese Zuordnungseinheit befindet.
total_pages bigint Gesamtanzahl der Seiten, die von dieser Zuordnungseinheit zugeordnet oder reserviert wurden.
used_pages bigint Gesamtanzahl der tatsächlich verwendeten Seiten.
data_pages bigint Anzahl verwendeter Seiten, die über Folgendes verfügen:

Daten in Zeilen

LOB-Daten

Zeilenüberlaufdaten



Beachten Sie, dass der zurückgegebene Wert interne Indexseiten und Zuordnungsverwaltungsseiten ausschließt.

Hinweis

Wenn Sie große Indizes ablegen oder neu erstellen, große Tabellen ablegen oder große Tabellen oder Partitionen abschneiden, werden die Datenbank-Engine die tatsächlichen Seiten-Deallocations und die zugehörigen Sperren zurückstellen, bis nach dem Commit der Transaktion. Bei verzögerten Löschvorgängen wird der zugeordnete Speicherplatz nicht sofort freigegeben. Daher entsprechen die von sys.allocation_units zurückgegebenen Werte unmittelbar nach dem Ablegen oder Abschneiden eines großen Objekts möglicherweise nicht dem tatsächlich verfügbaren Speicherplatz.

Wenn die beschleunigte Datenbankwiederherstellung aktiviert ist, wird das verzögerte Ablegen unabhängig von der Objektgröße verwendet.

Berechtigungen

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

Beispiele

Bestimmen des vom Objekt verwendeten Raums und Typs einer Zuordnungseinheit

Die folgende Abfrage gibt alle Benutzertabellen in einer Datenbank und den jeweils verwendeten Speicherplatz nach Zuordnungseinheitstyp zurück.

SELECT t.object_id AS ObjectID,
       OBJECT_NAME(t.object_id) AS ObjectName,
       SUM(u.total_pages) * 8 AS Total_Reserved_kb,
       SUM(u.used_pages) * 8 AS Used_Space_kb,
       u.type_desc AS TypeDesc,
       MAX(p.rows) AS RowsCount
FROM sys.allocation_units AS u
JOIN sys.partitions AS p ON u.container_id = p.hobt_id
JOIN sys.tables AS t ON p.object_id = t.object_id
GROUP BY t.object_id,
         OBJECT_NAME(t.object_id),
         u.type_desc
ORDER BY Used_Space_kb DESC,
         ObjectName;

Weitere Informationen

sys.partitions (Transact-SQL)
Katalogsichten für Objekte (Transact-SQL)
Katalogsichten (Transact-SQL)