Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Förhandsversion av Microsoft Fabric
Innehåller en rad för varje allokeringsenhet i databasen.
| Column name | Data type | Description |
|---|---|---|
| allocation_unit_id | bigint | ID för allokeringsenheten. Är unik i en databas. |
| type | tinyint | Typ av allokeringsenhet: 0 = Borttagen 1 = Data på rad (alla datatyper, utom LOB-datatyper) 2 = Stora objektdata (LOB) (text, ntext, bild, xml, stora värdetyper och CLR-användardefinierade typer) 3 = Rad-overflow-data |
| type_desc | nvarchar(60) | Beskrivning av typ av allokeringsenhet: DROPPED IN_ROW_DATA LOB_DATA ROW_OVERFLOW_DATA |
| container_id | bigint | ID för lagringscontainern som är associerad med allokeringsenheten. Om typ = 1 eller 3 i ett radlagringsindex container_id = sys.partitions.hobt_id. Om du skriver = 1 eller 3 i ett kolumnlagringsindex container_id = sys.column_store_row_groups.delta_store_hobt_id. Om typen är 2 container_id = sys.partitions.partition_id. 0 = Allokeringsenhet markerad för uppskjuten borttagning |
| data_space_id | int | ID för den filgrupp där allokeringsenheten finns. |
| total_pages | bigint | Totalt antal sidor som allokerats eller reserverats av den här allokeringsenheten. |
| used_pages | bigint | Antal totalt antal sidor som faktiskt används. |
| data_pages | bigint | Antal använda sidor som har: In-row data LOB data Row-overflow data Observera att värdet som returneras exkluderar interna indexsidor och allokeringshanteringssidor. |
Note
När du släpper eller återskapar stora index, släpper stora tabeller eller trunkerar stora tabeller eller partitioner, defererar databasmotorn de faktiska sidborttagningarna och deras associerade lås tills transaktionen har checkats in. Uppskjutna släppåtgärder frigör inte allokerat utrymme omedelbart. De värden som returneras av sys.allocation_units omedelbart efter att ett stort objekt har släppts eller trunkerats kanske inte återspeglar det faktiska tillgängliga diskutrymmet.
När accelererad databasåterställning är aktiverad används uppskjuten släpp oavsett objektstorlek.
Permissions
Kräver medlemskap i offentlig roll. För mer information, se inställningar för metadatasynlighet.
Examples
Fastställa utrymme som används av objekt och typ av en allokeringsenhet
Följande fråga returnerar alla användartabeller i en databas och mängden utrymme som används i varje, efter allokeringsenhetstyp.
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;
See Also
sys.partitions (Transact-SQL)
objektkatalogvyer (Transact-SQL)
katalogvyer (Transact-SQL)