Partilhar via


sys.internal_partitions (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do Azure Instâ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 aos índices columnstore e rastreiam linhas excluídas, mapeamentos de rowgroup e rowgroups de repositório delta. Eles rastreiam dados para cada partição de tabela; Cada tabela tem pelo menos uma partição. 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 esta 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 do í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 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 colunar. 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 excede 1048576, elas são mescladas de volta no bitmap de exclusão pelo thread do Mover Tupla em segundo plano ou por um comando Reorganizar 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 secundário não clusterizado. Isso mapeia chaves de índice não clusterizadas 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 para o 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 de compactação do conjunto de linhas:

0 = NONE

1 = ROW

2 = PAGE
data_compression_desc nvarchar(60) O estado de compactação de 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 da última página habilitada.

0 = Valor padrão. A partição tem a otimização de inserção da ú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

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

Exemplos

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

Confira 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