sys.internal_partitions (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Retorna uma linha para cada conjunto de linhas que rastreia dados internos para índices columnstore em tabelas baseadas em disco. Esses conjuntos de linhas são internos para índices columnstore e rastreiam linhas excluídas, mapeamentos de rowgroup e rowgroups do repositório delta. Eles acompanham os dados de cada partição de tabela; cada tabela tem pelo menos uma partição. SQL Server recria os conjuntos de linhas sempre que recria o índice columnstore.

Nome da coluna Tipo de dados Descrição
partition_id bigint ID da partição para essa partição. É exclusiva em um banco de dados.
object_id int ID do objeto para a tabela que contém a partição.
index_id int ID de índice para o índice columnstore definido na tabela.

1 = índice columnstore clusterizado

2 = índice columnstore não clusterizado
partition_number int O número da partição.

1 = primeira partição de uma tabela particionada ou a partição única de uma tabela não particionada.

2 = segunda partição e assim por diante.
internal_object_type tinyint Objetos de conjunto de linhas que rastreiam dados internos para o índice 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 - Esse índice de bitmap rastreia linhas marcadas como excluídas do columnstore. O bitmap é para cada rowgroup, pois as partições podem ter linhas em vários rowgroups. As linhas são que ainda estão fisicamente presentes e ocupando espaço no columnstore.

COLUMN_STORE_DELTA_STORE – armazena grupos de linhas, chamados rowgroups, que não foram compactados no armazenamento columnar. Cada partição de tabela pode ter zero ou mais rowgroups deltastore.

COLUMN_STORE_DELETE_BUFFER – para manter exclusões em índices columnstore não clusterizados atualizáveis. Quando uma consulta exclui uma linha da tabela rowstore subjacente, o buffer de exclusão rastreia a exclusão do columnstore. Quando o número de linhas excluídas exceder 1048576, elas serão mescladas novamente no bitmap de exclusão por thread do Migrador de Tupla em segundo plano ou por um comando Reorganize explícito. A qualquer momento, a união do bitmap de exclusão e do buffer de exclusão representa todas as linhas excluídas.

COLUMN_STORE_MAPPING_INDEX – usado somente quando o índice columnstore clusterizado tem um índice não clusterizado secundário. Isso mapeia chaves de índice não clusterizado para o rowgroup e a ID de linha corretos no columnstore. Ele armazena apenas chaves para linhas que se movem para um rowgroup diferente; isso ocorre quando um rowgroup delta é compactado no columnstore e quando uma operação de mesclagem mescla linhas de dois rowgroups diferentes.
Row_group_id int ID do rowgroup deltastore. Cada partição de tabela pode ter zero ou mais rowgroups deltastore.
hobt_id bigint ID do objeto de conjunto de linhas interno (HoBT). Essa é uma boa chave para ingressar com outras DMVs para obter mais informações sobre as características físicas do conjunto de linhas interno.
rows bigint Número aproximado de linhas nesta partição.
data_compression tinyint O estado da compactação para o conjunto de linhas:

0 = NONE

1 = ROW

2 = PAGE
data_compression_desc nvarchar(60) O estado da compactação para cada partição. Os valores possível para as tabelas rowstore são NONE, ROW e PAGE. Os valores possível para as tabelas columnstor são COLUMNSTORE e COLUMNSTORE_ARCHIVE.
optimize_for_sequential_key bit 1 = A partição tem a otimização de inserção de última página habilitada.

0 = Valor padrão. A partição tem a otimização de inserção de última página desabilitada.

Permissões

Exige a associação à função public. Para obter mais informações, consulte Metadata Visibility Configuration.

Comentários gerais

SQL Server recria novos índices internos columnstore sempre que cria ou recria um índice columnstore.

Exemplos

a. Exibir todos os conjuntos de linhas internos de uma tabela

Este exemplo retorna todos os conjuntos de linhas columnstore internos de uma tabela. Você também pode usar o hobt_id para encontrar mais informações sobre o conjunto de linhas específico.

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' ) ;  

Consulte Também

Exibições do catálogo de objeto (Transact-SQL)
Exibições do Catálogo (Transact-SQL)
Consultando as perguntas frequentes do catálogo do sistema do SQL Server