Share via


sys.column_store_segments (Transact-SQL)

包含資料行存放區索引中每個資料行的資料列。

資料行名稱

資料類型

說明

partition_id

bigint

指出資料分割識別碼。 在資料庫中,這是唯一的。

hobt_id

bigint

具有此資料行存放區索引之資料表的堆積或 B 型樹狀目錄索引 (hobt) 的識別碼。

column_id

int

資料行存放區資料行的識別碼。

segment_id

int

資料行區段的識別碼。

version

int

資料行區段格式的版本。

encoding_type

int

該區段所使用的編碼類型。

row_count

int

資料列群組中的列數。

has_nulls

int

如果資料行區段具有 Null 值,則為 1。

base_id

bigint

如果正在使用編碼類型 1,則為基底值識別碼。如果沒有使用編碼類型 1,base_id 就會設定為 1。

magnitude

float

如果正在使用編碼類型 1,則為大小。如果沒有使用編碼類型 1,magnitude 就會設定為 1。

primary__dictionary_id

int

主要字典的識別碼。

secondary_dictionary_id

int

次要字典的識別碼。 如果沒有次要字典,會傳回 -1。

min_data_id

bigint

資料行區段中的最小資料識別碼。

max_data_id

bigint

資料行區段中的最大資料識別碼。

null_value

bigint

用來表示 Null 的值。

on_disk_size

bigint

區段大小 (以位元組為單位)。

備註

下列查詢會傳回資料行存放區索引之區段的相關資訊。

SELECT i.name, p.object_id, p.index_id, i.type_desc, 
    COUNT(*) AS number_of_segments
FROM sys.column_store_segments AS s 
INNER JOIN sys.partitions AS p 
    ON s.hobt_id = p.hobt_id 
INNER JOIN sys.indexes AS i 
    ON p.object_id = i.object_id
WHERE i.type = 6
GROUP BY i.name, p.object_id, p.index_id, i.type_desc ;
GO

權限

所有資料行都至少需要資料表的 VIEW DEFINITION 權限。 除非使用者擁有 SELECT 權限,否則下列資料行將傳回 Null:has_nulls、base_id、magnitude、min_data_id、max_data_id 和 null_value。

目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需詳細資訊,請參閱<中繼資料可見性組態>。

請參閱

參考

物件目錄檢視 (Transact-SQL)

目錄檢視 (Transact-SQL)

sys.columns (Transact-SQL)

sys.all_columns (Transact-SQL)

sys.computed_columns (Transact-SQL)

sys.column_store_dictionaries (Transact-SQL)

概念

查詢 SQL Server 系統目錄 FAQ

資料行存放區索引

資料行存放區索引