sys.dm_db_partition_stats (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Retorna informações de contagem de linhas e páginas para toda partição no banco de dados atual.
Observação
Para chamar isso do Azure Synapse Analytics ou do PDW (Analytics Platform System), use o nome sys.dm_pdw_nodes_db_partition_stats
. O partition_id é sys.dm_pdw_nodes_db_partition_stats
diferente do partition_id na exibição de catálogo do sys.partitions
Azure Synapse Analytics. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
partition_id |
bigint | ID da partição. É exclusiva em um banco de dados. Esse é o mesmo valor que o na exibição do catálogo, exceto para o partition_id sys.partitions Azure Synapse Analytics. |
object_id |
int | ID de objeto da tabela ou exibição indexada da qual a partição faz parte. |
index_id |
int | ID do heap ou índice do qual a partição faz parte. 0 = Heap 1 = Índice clusterizado. > 1 = Índice não clusterizado |
partition_number |
int | Número de partição com base 1 no índice ou heap. |
in_row_data_page_count |
bigint | Número de páginas em uso para armazenar dados em linha nesta partição. Se a partição fizer parte de um heap, o valor será o número de páginas de dados no heap. Se a partição fizer parte de um índice, o valor será o número de páginas no nível folha. (Páginas não folha na árvore B+ não estão incluídas na contagem.) As páginas IAM (Mapa de Alocação de Índice) não estão incluídas em nenhum dos casos. Sempre 0 para um índice columnstore xVelocity de memória otimizada. |
in_row_used_page_count |
bigint | Número total de páginas em uso para armazenar e gerenciar os dados em linha nesta partição. Essa contagem inclui páginas não folha da árvore B+, páginas IAM e todas as páginas incluídas na coluna in_row_data_page_count. Sempre 0 para um índice columnstore. |
in_row_reserved_page_count |
bigint | Número total de páginas reservadas para armazenar e gerenciar dados em linha nesta partição, independentemente do fato de as páginas estarem ou não em uso. Sempre 0 para um índice columnstore. |
lob_used_page_count |
bigint | Número de páginas em uso para armazenar e gerenciar colunas text, ntext, image, varchar(max), nvarchar(max), varbinary(max) e xml fora de linha na partição. As páginas IAM são incluídas. Número total de LOBs usados para armazenar e gerenciar o índice columnstore na partição. |
lob_reserved_page_count |
bigint | Número total de páginas reservadas para armazenar e gerenciar colunas text, ntext, image, varchar(max), nvarchar(max), varbinary(max) e xml fora de linha na partição, independentemente do fato de as páginas estarem ou não em uso. As páginas IAM são incluídas. Número total de LOBs reservados para armazenar e gerenciar o índice columnstore na partição. |
row_overflow_used_page_count |
bigint | Número de páginas em uso para armazenar e gerenciar colunas varchar, nvarchar, varbinary e sql_variant na partição. As páginas IAM são incluídas. Sempre 0 para um índice columnstore. |
row_overflow_reserved_page_count |
bigint | Número total de páginas reservadas para armazenar e gerenciar colunas varchar, nvarchar, varbinary e sql_variant excedentes de linha na partição, independentemente do fato de as páginas estarem ou não em uso. As páginas IAM são incluídas. Sempre 0 para um índice columnstore. |
used_page_count |
bigint | Número total de páginas usadas para a partição. Computado como in_row_used_page_count + lob_used_page_count + row_overflow_used_page_count. |
reserved_page_count |
bigint | Número total de páginas reservadas para a partição. Computado como in_row_reserved_page_count + lob_reserved_page_count + row_overflow_reserved_page_count. |
row_count |
bigint | O número aproximado de linhas na partição. |
pdw_node_id |
int | Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) O identificador do nó em que essa distribuição está ativada. |
distribution_id |
int | Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) A ID numérica exclusiva associada à distribuição. |
Comentários
A sys.dm_db_partition_stats
exibição de gerenciamento dinâmico (DMV) exibe informações sobre o espaço usado para armazenar e gerenciar dados em linha, dados LOB e dados de estouro de linha para todas as partições em um banco de dados. É exibida uma linha por partição.
As contagens nas quais a saída se baseia são armazenadas em cache na memória ou armazenadas em disco em várias tabelas do sistema.
Dados em linha, dados LOB e dados de estouro de linha representam as três unidades de alocação que compõem uma partição. A exibição de catálogo sys.allocation_units pode ser consultada por metadados sobre cada unidade de alocação no banco de dados.
Se um heap ou índice não for particionado, ele será composto de uma partição (com número de partição = 1); portanto, somente uma linha será retornada para esse heap ou índice. A exibição de catálogo sys.partitions pode ser consultada por metadados sobre cada partição de todas as tabelas e índices em um banco de dados.
A contagem total para uma tabela ou índice individual pode ser obtida pela adição das contagens de todas as partições relevantes.
Permissões
Requer VIEW DATABASE STATE
permissões e VIEW DEFINITION
para consultar a sys.dm_db_partition_stats
exibição de gerenciamento dinâmico. Para obter mais informações sobre permissões nas exibições de gerenciamento dinâmico, confira Exibições e funções de gerenciamento dinâmico (Transact-SQL).
Permissões do SQL Server 2022 e posteriores
Requer permissões VIEW DATABASE PERFORMANCE STATE e VIEW SECURITY DEFINITION no banco de dados.
Exemplos
R. Retornar todas as contagens para todas as partições de todos os índices e heaps em um banco de dados
O exemplo a seguir mostra todas as contagens de todas as partições de todos os índices e heaps no banco de dados AdventureWorks2022.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO
B. Retornar todas as contagens para todas as partições de uma tabela e seus índices
O exemplo a seguir mostra todas as contagens de todas as partições da tabela HumanResources.Employee
e seus índices.
USE AdventureWorks2022;
GO
SELECT * FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO
C. Retorna o total de páginas usadas e o número total de linhas para um heap ou índice clusterizado
O exemplo a seguir retorna o total de páginas usadas e o número total de linhas para o heap ou índice clusterizado da tabela HumanResources.Employee
. Como a tabela Employee
não é particionada por padrão, observe que a soma inclui somente uma partição.
USE AdventureWorks2022;
GO
SELECT SUM(used_page_count) AS total_number_of_used_pages,
SUM (row_count) AS total_number_of_rows
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID('HumanResources.Employee') AND (index_id=0 or index_id=1);
GO