Udostępnij za pomocą


sys.allocation_units (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zawiera wiersz dla każdej jednostki alokacji w bazie danych.

Nazwa kolumny Typ danych Description
allocation_unit_id bigint Identyfikator jednostki alokacji. Jest unikatowy w bazie danych.
typ tinyint Typ jednostki alokacji:

0 = porzucone

1 = Dane w wierszu (wszystkie typy danych, z wyjątkiem typów danych BIZNESOWYCH)

2 = Duże dane obiektu (LOB) (tekst, ntext, obraz, xml, duże typy wartości i typy zdefiniowane przez użytkownika CLR)

3 = Dane przepełnienia wiersza
type_desc nvarchar(60) Opis typu jednostki alokacji:

SPADŁA

IN_ROW_DATA

LOB_DATA

ROW_OVERFLOW_DATA
container_id bigint Identyfikator kontenera magazynu skojarzonego z jednostką alokacji.

Jeśli typ = 1 lub 3 w indeksie magazynu wierszy container_id = sys.partitions.hobt_id.

Jeśli typ = 1 lub 3 w indeksie magazynu kolumn, container_id = sys.column_store_row_groups.delta_store_hobt_id.

Jeśli typ to 2, container_id = sys.partitions.partition_id.

0 = jednostka alokacji oznaczona do odroczonego upuszczania
data_space_id int Identyfikator grupy plików, w której znajduje się ta jednostka alokacji.
total_pages bigint Łączna liczba stron przydzielonych lub zarezerwowanych przez tę jednostkę alokacji.
used_pages bigint Liczba stron w rzeczywistości używanych.
data_pages bigint Liczba używanych stron, które mają:

Dane w wierszu

Dane LOB

Dane przepełnienia wiersza



Zwróć uwagę, że zwrócona wartość nie obejmuje stron indeksu wewnętrznego i stron zarządzania alokacją.

Note

Po upuszczaniu lub odbudowaniu dużych indeksów, porzucaniu dużych tabel lub obcinania dużych tabel lub partycji aparat bazy danych wyzywa rzeczywiste przydziały strony i skojarzone z nimi blokady do momentu zatwierdzenia transakcji. Operacje odroczonego usuwania nie zwalniają przydzielonego miejsca natychmiast. W związku z tym wartości zwracane przez sys.allocation_units natychmiast po upuszczaniu lub obcięciu dużego obiektu mogą nie odzwierciedlać rzeczywistego dostępnego miejsca na dysku.

Po włączeniu przyspieszonego odzyskiwania bazy danych odroczone upuszczanie jest używane niezależnie od rozmiaru obiektu.

Permissions

Wymaga członkostwa w publicznej roli . Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Examples

Określanie miejsca używanego przez obiekt i typ jednostki alokacji

Poniższe zapytanie zwraca wszystkie tabele użytkownika w bazie danych i ilość miejsca używanego w każdej z nich według typu jednostki alokacji.

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;

Zobacz też

sys.partitions (Transact-SQL)
widoki wykazu obiektów (Transact-SQL)
Widoki Katalogu (Transact-SQL)