sys.allocation_units (Transact-SQL)
数据库中的每个分配单元都在表中占一行。
列名 |
数据类型 |
说明 |
---|---|---|
allocation_unit_id |
bigint |
分配单元的 ID。在数据库中是唯一的。 |
type |
tinyint |
分配单元的类型: 0 = 已删除 1 = 行内数据(所有数据类型,但 LOB 数据类型除外) 2 = 大型对象 (LOB) 数据(text、ntext、 image、xml、大型值类型以及 CLR 用户定义类型) 3 = 行溢出数据 |
type_desc |
nvarchar(60) |
对分配单元类型的说明:
|
container_id |
bigint |
与分配单元关联的存储容器的 ID。 如果 type = 1 或 3,则 container_id = sys.partitions.hobt_id。 如果 type 为 2,则 container_id = sys.partitions.partition_id。 0 = 标记为要延迟删除的分配单元 |
data_space_id |
int |
该分配单元所在文件组的 ID。 |
total_pages |
bigint |
该分配单元分配或保留的总页数。 |
used_pages |
bigint |
实际使用的总页数。 |
data_pages |
bigint |
包含下列数据的已使用页的数目:
返回的值排除了内部索引页和分配管理页。 |
注意 |
---|
在删除或重新生成大型索引时,或者在删除或截断大型表时,数据库引擎将延迟实际页释放及其关联锁,直至事务提交完毕为止。延迟的删除操作不会立即释放已分配的空间。因此,删除或截断大型对象之后立即由 sys.allocation_units 返回的值可能不会反映实际可用的磁盘空间。有关延迟分配的详细信息,请参阅删除并重新生成大型对象。 |