sys.partitions (Transact-SQL)
适用于:Microsoft Fabric Microsoft Fabric Warehouse 中的 SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics 终结点
数据库中的所有表和大部分类型的索引的每个分区各对应一行。 此视图中不包括特殊索引类型,例如全文、空间和 XML。 SQL Server 中的所有表和索引都至少包含一个分区,无论它们是否显式分区。
列名称 | 数据类型 | 说明 |
---|---|---|
partition_id |
bigint | 指示分区 ID。 数据库中的唯一性。 |
object_id |
int | 指示此分区所属的对象的 ID。 每个表或视图都至少包含一个分区。 |
index_id |
int | 指示此分区所属的对象内的索引的 ID。 0 = 堆 1 = 聚集索引 2 或更高 = 非聚集索引 |
partition_number |
int | 自有索引或堆中的基于 1 的分区号。 对于非分区表和索引,此列的值为 1 。 |
hobt_id |
bigint | 指示包含此分区行的数据堆或 B 树(HoBT)的 ID。 |
rows |
bigint | 指示此分区中的大约行数。 |
filestream_filegroup_id |
smallint | 适用于:SQL Server 2012 (11.x) 及更高版本。 指示在此分区上存储的 FILESTREAM 文件组的 ID。 |
data_compression |
tinyint | 指示每个分区的压缩状态: 0 = NONE 1 = ROW 2 = PAGE 3 = COLUMNSTORE 1 4 = COLUMNSTORE_ARCHIVE 2 注意: 全文索引在任何版本的 SQL Server 中都压缩。 |
data_compression_desc |
nvarchar(60) | 指示每个分区的压缩状态。 行存储表 NONE 的可能值为, ROW 以及 PAGE 。 列存储表 COLUMNSTORE 的可能值为和 COLUMNSTORE_ARCHIVE 。 |
xml_compression |
bit | 适用于:SQL Server 2022 (16.x) 及更高版本。 指示每个分区的 XML 压缩状态: 0 = OFF 1 = ON |
xml_compression_desc |
varchar(3) | 适用于:SQL Server 2022 (16.x) 及更高版本。 指示每个分区的 XML 压缩状态。 可能值为 OFF 和 ON 。 |
1 适用于:SQL Server 2012 (11.x) 及更高版本。
2 适用于:SQL Server 2014 (12.x) 及更高版本。
权限
要求 公共 角色具有成员身份。 有关详细信息,请参阅 Metadata Visibility Configuration。
示例
确定对象使用的空间并显示相关的分区信息
以下查询返回数据库中的所有对象、每个对象中使用的空间量以及与每个对象相关的分区信息。
SELECT object_name(object_id) AS ObjectName,
total_pages / 128. AS SpaceUsed_MB,
p.partition_id,
p.object_id,
p.index_id,
p.partition_number,
p.rows,
p.data_compression_desc
FROM sys.partitions AS p
INNER JOIN sys.allocation_units AS au
ON p.partition_id = au.container_id
ORDER BY SpaceUsed_MB DESC;