Aracılığıyla paylaş


sys.internal_partitions (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Disk tabanlı tablolarda columnstore dizinleri için iç verileri izleyen her satır kümesi için bir satır döndürür. Bu satır kümeleri columnstore dizinlerinin içinde yer alır ve silinen satırları, satır grubu eşlemelerini ve değişiklik deposu satır gruplarını izler. Her tablo bölümü için verileri izler. Her tabloda en az bir bölüm vardır. Veritabanı Altyapısı, columnstore dizinini her yeniden oluşturduğunda satır kümelerini yeniden oluşturur.

Sütun adı Veri türü Açıklama
partition_id büyük Bu bölüm için bölüm kimliği. Bu, veritabanında benzersizdir.
object_id Int Bölümü içeren tablonun Nesne Kimliği.
index_id Int Tabloda tanımlanan columnstore dizininin dizin kimliği.

1 = kümelenmiş columnstore dizini
2 = kümelenmemiş columnstore dizini
partition_number Int Bölüm numarası.

1 = bölümlenmiş tablonun ilk bölümü veya bölümlenmemiş bir tablonun tek bölümü.

2 = ikinci bölüm vb.
internal_object_type tinyint Columnstore dizini için iç verileri izleyen satır kümesi nesneleri.

2 = COLUMN_STORE_DELETE_BITMAP
3 = COLUMN_STORE_DELTA_STORE
4 = COLUMN_STORE_DELETE_BUFFER
5 = COLUMN_STORE_MAPPING_INDEX
internal_object_type_desc nvarchar(60) COLUMN_STORE_DELETE_BITMAP - Bu bit eşlem dizini, columnstore'dan silinmiş olarak işaretlenmiş satırları izler. Bit eşlem, bölümlerin birden çok satır grubundaki satırları olabileceğinden her satır grubuna yöneliktir. Bu satırlar hala fiziksel olarak mevcuttur ve columnstore'da yer kaplar.

COLUMN_STORE_DELTA_STORE - Sütunlu depolamada sıkıştırılmış olmayan satır grupları (satır grupları olarak adlandırılır) depolar. Her tablo bölümünde sıfır veya daha fazla deltastore satır grubu olabilir.

COLUMN_STORE_DELETE_BUFFER - Güncelleştirilebilir, kümelenmemiş columnstore dizinlerinde silmeleri korumak için. Bir sorgu temel alınan satır deposu tablosundan bir satırı sildiğinde, silme arabelleği silme işlemini columnstore'dan izler. Silinen satır sayısı 1.048.576'yı aştığında, Tanımlama Grubu Taşıyıcı arka plan iş parçacığı veya bir işlem tarafından silme bit eşleminde yeniden birleştirilir ALTER INDEX ... REORGANIZE . Belirli bir zamanda, silme bit eşleminin ve silme arabelleğinin birleşimi silinen tüm satırları temsil eder.

COLUMN_STORE_MAPPING_INDEX - Yalnızca kümelenmiş columnstore dizini ikincil bir kümelenmemiş dizine sahip olduğunda kullanılır. Bu, kümelenmemiş dizin anahtarlarını sütun deposundaki satır grubu ve satır kimliğiyle eşler. Yalnızca farklı bir satır grubuna taşınan satırların anahtarlarını depolar. Bu durum, bir delta satır grubu columnstore'da sıkıştırıldığında ve birleştirme işlemi iki farklı satır grubundan satırları birleştirdiğinde oluşur.
row_group_id Int Deltastore satır grubunun kimliği. Her tablo bölümünde sıfır veya daha fazla deltastore satır grubu olabilir.
hobt_id büyük İç satır kümesi nesnesinin kimliği (HoBT). İç satır kümesinin fiziksel özellikleri hakkında daha fazla bilgi edinmek için sys.dm_db_index_physical_stats() gibi diğer sistem görünümleri ve işlevleriyle birleşimlerde kullanılabilir.
rows büyük Bu bölümdeki yaklaşık satır sayısı.
data_compression tinyint Her bölüm için sıkıştırma türü:

0 = NONE
1 = ROW
2 = PAGE
data_compression_desc nvarchar(60) Her bölüm için sıkıştırma türü. Satır deposu tabloları için olası değerler , NONEve ROWşeklindedirPAGE. Columnstore tablolarının olası değerleri ve COLUMNSTOREşeklindedirCOLUMNSTORE_ARCHIVE.

İzinler

Rolde public üyelik gerektirir. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .

Açıklamalar

Veritabanı Altyapısı, bir columnstore dizinini her oluşturduğunda veya yeniden oluşturduğunda yeni columnstore iç dizinlerini yeniden oluşturur.

Örnekler

A. Tablonun tüm iç satır kümelerini görüntüleme

Bu örnek, bir tablonun tüm iç columnstore satır kümelerini döndürür. Sütunu, diğer sistem görünümleri ve işlevleriyle birleştirmek ve belirli satır kümesi hakkında daha fazla bilgi bulmak için de kullanabilirsiniz hobt_id .

SELECT i.object_id,
       i.index_id,
       i.name,
       p.hobt_id,
       p.internal_object_type_id,
       p.internal_object_type_desc
FROM sys.internal_partitions AS p
     INNER JOIN sys.indexes AS i
         ON i.object_id = p.object_id
WHERE p.object_id = OBJECT_ID('<table name>');