Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в предварительной версии Microsoft Fabric
Содержит одну строку для каждой единицы распределения в базе данных.
Column name | Data type | Description |
---|---|---|
allocation_unit_id | bigint | Идентификатор единицы распределения. Уникален в базе данных. |
type | tinyint | Тип единицы распределения: 0 = удаленная; 1 = внутристрочные данные (все типы данных, за исключением типов данных LOB); 2 = данные больших объектов (LOB) (text, ntext, image, xml, крупные типы значений и определяемые пользователем типы CLR) 3 = превышающие размер страницы данные строки. |
type_desc | nvarchar(60) | Описание типа единицы распределения: DROPPED IN_ROW_DATA LOB_DATA ROW_OVERFLOW_DATA |
container_id | bigint | Идентификатор контейнера хранения, связанного с единицей распределения. Если тип = 1 или 3 в индексе rowstore container_id = sys.partitions.hobt_id. Если тип = 1 или 3 в индексе columnstore, container_id = sys.column_store_row_groups.delta_store_hobt_id. Если тип type равен 2, то идентификатор container_id = sys.partitions.partition_id. 0 = единица распределения помечена для отложенного удаления |
data_space_id | int | Идентификатор файловой группы, в которой находится эта единица распределения. |
total_pages | bigint | Общее количество страниц, выделенное или зарезервированное единицей распределения. |
used_pages | bigint | Общее количество используемых страниц. |
data_pages | bigint | Количество страниц, включающих: In-row data LOB data Row-overflow data Обратите внимание, что возвращаемое значение исключает внутренние страницы индекса и страницы управления выделением. |
Note
При удалении или перестроении больших индексов, удалении больших таблиц или усечении больших таблиц или секций ядро СУБД откладывает фактическое размещение сделки страниц и связанные с ними блокировки до тех пор, пока транзакция не будет зафиксирована. Отложенные операции удаления не освобождают выделенное место немедленно. Поэтому значения, возвращаемые представлением каталога sys.allocation_units сразу после удаления или усечения большого объекта, могут не отражать реальный объем доступного места на диске.
При включении ускорения восстановления базы данных отложенное удаление используется независимо от размера объекта.
Permissions
Необходимо быть членом роли public. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Examples
Определение пространства, используемого объектом и типом единицы выделения
Следующий запрос возвращает все пользовательские таблицы в базе данных и объем пространства, используемого в каждом типе единицы выделения.
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)
Представления каталога объектов (Transact-SQL)
Представления каталога (Transact-SQL)