Поделиться через


sys.internal_partitions (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure

Возвращает одну строку для каждого набора строк, который отслеживает внутренние данные для индексов columnstore в таблицах на основе дисков. Эти наборы строк являются внутренними для индексов columnstore и отслеживают удаленные строки, сопоставления строк и разностные хранилища групп строк. Они отслеживают данные для каждой секции таблицы; каждая таблица имеет по крайней мере одну секцию. SQL Server повторно создает наборы строк при каждом перестроении индекса columnstore.

Имя столбца Тип данных Description
partition_id bigint Идентификатор секции для этой секции. Является уникальным в пределах базы данных.
object_id int Идентификатор объекта для таблицы, содержащей секцию.
index_id int Идентификатор индекса columnstore, определенный в таблице.

1 = кластеризованный индекс columnstore

2 = некластеризованный индекс columnstore
partition_number int Номер секции.

1 = первая секция секционированной таблицы или одна секция непартиментной таблицы.

2 = вторая секция и т. д.
internal_object_type tinyint Объекты набора строк, отслеживающие внутренние данные индекса columnstore.

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 . Этот индекс растрового изображения отслеживает строки, помеченные как удаленные из columnstore. Растровое изображение предназначено для каждой группы строк, так как секции могут иметь строки в нескольких группах строк. Строки по-прежнему физически присутствуют и занимают место в columnstore.

COLUMN_STORE_DELTA_STORE — хранит группы строк, называемые группами строк, которые не были сжаты в хранилище столбцов. Каждая секция таблицы может иметь ноль или больше групп строк deltastore.

COLUMN_STORE_DELETE_BUFFER. Для сохранения удаления для обновляемых некластеризованных индексов columnstore. Когда запрос удаляет строку из базовой таблицы rowstore, буфер удаления отслеживает удаление из columnstore. Если число удаленных строк превышает 1048576, они объединяются обратно в растровое изображение в фоновом потоке Перемещения кортежа или явной командой reorganize. В любой момент времени объединение растрового изображения удаления и буфер удаления представляет все удаленные строки.

COLUMN_STORE_MAPPING_INDEX — используется только в том случае, если кластеризованный индекс columnstore имеет вторичный некластеризованный индекс. Это сопоставляет некластеризованные ключи индекса с правильной группой строк и идентификатором строки в columnstore. Он хранит только ключи для строк, которые перемещаются в другую группу строк; это происходит, когда разностная группа строк сжимается в columnstore, и когда операция слияния объединяет строки из двух разных групп строк.
Row_group_id int Идентификатор группы строк deltastore. Каждая секция таблицы может иметь ноль или больше групп строк deltastore.
hobt_id bigint Идентификатор внутреннего объекта набора строк (HoBT). Это хороший ключ для присоединения к другим динамическим представлениям, чтобы получить дополнительные сведения о физических характеристиках внутреннего набора строк.
строк bigint Приблизительное количество строк в данной секции.
data_compression tinyint Состояние сжатия для набора строк:

0 = нет

1 = ROW

2 = PAGE
data_compression_desc nvarchar(60) Состояние сжатия для каждой секции. Возможные значения для таблиц rowstore: NONE, ROW и PAGE. Возможные значения для таблиц columnstore: COLUMNSTORE и COLUMNSTORE_ARCHIVE.
optimize_for_sequential_key bit 1 = Раздел имеет функцию оптимизации вставки последней страницы.

0 = значение по умолчанию. Раздел отключил оптимизацию вставки последней страницы.

Разрешения

Необходимо членство в роли public. Дополнительные сведения см. в разделе Metadata Visibility Configuration.

Общие замечания

SQL Server повторно создает внутренние индексы columnstore при каждом создании или перестроении индекса columnstore.

Примеры

А. Просмотр всех внутренних наборов строк для таблицы

В этом примере возвращаются все внутренние наборы строк columnstore для таблицы. Вы также можете использовать 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  
JOIN sys.indexes AS i  
on i.object_id = p.object_id  
WHERE p.object_id = OBJECT_ID ( '<table name' ) ;  

См. также

Представления каталога объектов (Transact-SQL)
Представления каталога (Transact-SQL)
Часто задаваемые вопросы о запросах к системному каталогу SQL Server