sys.partitions (Transact-SQL)
適用於:sql Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) SQL 分析端點在 Microsoft 網狀架構的網狀架構倉儲中Microsoft網狀架構
針對資料庫中所有數據表和大多數索引類型的每個分割區,各包含一個數據列。 此檢視中不包含特殊索引類型,例如全文檢索、空間和 XML。 SQL Server 中的所有數據表和索引都至少包含一個數據分割,無論它們是否明確分割。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
partition_id |
bigint | 表示分割區標識碼。 資料庫內的唯一。 |
object_id |
int | 指出這個數據分割所屬對象的標識碼。 每個數據表或檢視表都由至少一個分割區組成。 |
index_id |
int | 指出這個數據分割所屬物件內的索引標識碼。 0 = 堆積 1 = 叢集索引 2 或更新 = 非叢集索引 |
partition_number |
int | 擁有索引或堆積內的1個分割區編號。 對於非資料分割資料表和索引,此資料行的值是 1 。 |
hobt_id |
bigint | 指出包含此分割區數據列的數據堆積或 B 型樹狀結構 (HoBT) 識別碼。 |
rows |
bigint | 指出此分割區中大約的數據列數目。 |
filestream_filegroup_id |
smallint | 適用於:SQL Server 2012 (11.x) 和更新版本。 指出儲存在此分割區上的 FILESTREAM 檔案群組識別碼。 |
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) 和更新版本。
權限
需要 public 角色的成員資格。 如需相關資訊,請參閱 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;