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。
目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需詳細資訊,請參閱<中繼資料可見性組態>。
請參閱
參考
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)
sys.column_store_dictionaries (Transact-SQL)