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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de