sys.dm_db_partition_stats (Transact-SQL)
Retorna informações de contagem de linhas e páginas para toda partição no banco de dados atual.
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
partition_id |
bigint |
ID da partição. É exclusiva em um banco de dados. Este é o mesmo valor que o partition_id na exibição de catálogo sys.partitions |
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 da partição baseado em 1 no índice ou no 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 são incluídas na contagem.) As páginas IAM não são incluídas em nenhum caso. |
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. Esta conta 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. |
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. |
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. |
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. |
row_overflow_used_page_count |
bigint |
Número de páginas em uso para armazenar e administrar colunas varchar, nvarchar, varbinarye sql_variant na partição. As páginas IAM são incluídas. |
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. |
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. |
Comentários
sys.dm_db_partition_stats exibe informações sobre o espaço usado para armazenar e gerenciar dados LOB de dados em linha 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 tem como base são armazenadas em cache na memória ou armazenadas em disco nas diversas 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. Para obter mais informações sobre unidades de alocação, consulte Organização de tabela e índice. 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. Para obter mais informações sobre partições, consulte Organização de tabela e í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 permissão VIEW DATABASE STATE para consultar a exibição de gerenciamento dinâmico sys.dm_db_partition_stats. Para obter mais informações sobre permissões em exibições de gerenciamento dinâmico, consulte Exibições e funções de gerenciamento dinâmico (Transact-SQL).
Exemplos
A. Retornando todas as contagens de 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 AdventureWorks2008R2.
USE AdventureWorks2008R2;
GO
SELECT * FROM sys.dm_db_partition_stats;
GO
B. Retornando todas as contagens de 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 AdventureWorks2008R2;
GO
SELECT * FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('HumanResources.Employee');
GO
C. Retornando o total de páginas usadas e 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 AdventureWorks2008R2;
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
Consulte também