Delen via


sys.allocation_units (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric Preview

Bevat een rij voor elke toewijzingseenheid in de database.

Column name Data type Description
allocation_unit_id bigint Id van de toewijzingseenheid. Is uniek in een database.
type tinyint Type toewijzingseenheid:

0 = Verwijderd

1 = Gegevens in rij (alle gegevenstypen, behalve LOB-gegevenstypen)

2 = Lob-gegevens (large object) (tekst, ntext, afbeelding, xml, grote waardetypen en door de gebruiker gedefinieerde CLR-typen)

3 = Rij-overloopgegevens
type_desc nvarchar(60) Beschrijving van het type toewijzingseenheid:

DROPPED

IN_ROW_DATA

LOB_DATA

ROW_OVERFLOW_DATA
container_id bigint Id van de opslagcontainer die is gekoppeld aan de toewijzingseenheid.

Als type = 1 of 3 in een rowstore-index container_id = sys.partitions.hobt_id.

Als type = 1 of 3 in een columnstore-index, container_id = sys.column_store_row_groups.delta_store_hobt_id.

Als het type 2 is, container_id = sys.partitions.partition_id.

0 = Toewijzingseenheid gemarkeerd voor uitgestelde daling
data_space_id int Id van de bestandsgroep waarin deze toewijzingseenheid zich bevindt.
total_pages bigint Het totale aantal pagina's dat door deze toewijzingseenheid is toegewezen of gereserveerd.
used_pages bigint Het totale aantal pagina's dat daadwerkelijk wordt gebruikt.
data_pages bigint Aantal gebruikte pagina's met:

In-row data

LOB data

Row-overflow data



De geretourneerde waarde sluit interne indexpagina's en toewijzingsbeheerpagina's uit.

Note

Wanneer u grote indexen neerlegt of herbouwt, grote tabellen verwijdert of grote tabellen of partities afkappen, worden de werkelijke toewijzingen van pagina-transacties en de bijbehorende vergrendelingen uitgesteld totdat de transactiedoorvoeringen zijn doorgevoerd. Uitgestelde drop-bewerkingen geven toegewezen ruimte niet onmiddellijk vrij. De waarden die worden geretourneerd door sys.allocation_units onmiddellijk na het verwijderen of afkappen van een groot object, weerspiegelen daarom mogelijk niet de werkelijke schijfruimte die beschikbaar is.

Wanneer Versneld databaseherstel is ingeschakeld, wordt uitgestelde daling gebruikt, ongeacht de objectgrootte.

Permissions

Vereist lidmaatschap van de openbare rol. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Examples

De ruimte bepalen die wordt gebruikt door het object en het type van een toewijzingseenheid

De volgende query retourneert alle gebruikerstabellen in een database en de hoeveelheid ruimte die in elke database wordt gebruikt, op basis van het type toewijzingseenheid.

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)
objectcatalogusweergaven (Transact-SQL)
catalogusweergaven (Transact-SQL)