sys.dm_db_file_space_usage (Transact-SQL)

Retorna informações de uso do espaço de cada arquivo no banco de dados.

ObservaçãoObservação

Essa exibição só se aplica ao banco de dados tempdb.

Nome da coluna

Tipo de dados

Descrição

database_id

smallint

ID do banco de dados.

<file_id>

smallint

ID de arquivo.

file_id mapeia para file_id in sys.dm_io_virtual_file_stats e fileid em sys.sysfiles.

unallocated_extent_page_count

bigint

Número total de páginas nas extensões não alocadas no arquivo. Para obter mais informações, consulte Compreendendo páginas e extensões.

Páginas não utilizadas em extensões alocadas não são incluídas.

version_store_reserved_page_count

bigint

Número total de páginas nas extensões uniformes alocadas para o armazenamento de versão. As páginas do armazenamento de versão nunca são alocadas de eventos mistos.

Páginas IAM não são incluídas, pois são sempre são alocadas de extensões mistas. As páginas PFS serão incluídas se forem alocadas de uma extensão uniforme.

Para obter mais informações, consulte sys.dm_tran_version_store (Transact-SQL).

user_object_reserved_page_count

bigint

Número total de páginas alocado de extensões uniformes para objetos de usuário no banco de dados. Páginas não usadas de uma extensão alocada são incluídas na contagem.

Páginas IAM não são incluídas, pois são sempre são alocadas de extensões mistas. As páginas PFS serão incluídas se forem alocadas de uma extensão uniforme.

Você pode usar a coluna total_pages na exibição do catálogo sys.allocation_units para retornar à contagem de página reservada de cada unidade de alocação no objeto de usuário. No entanto, observe que a coluna total_pages inclui páginas IAM.

internal_object_reserved_page_count

bigint

Número total de páginas nas extensões uniformes alocado para objetos internos no arquivo. Páginas não usadas de uma extensão alocada são incluídas na contagem.

Páginas IAM não são incluídas, pois são sempre são alocadas de extensões mistas. As páginas PFS serão incluídas se forem alocadas de uma extensão uniforme.

Não há exibição do catálogo ou objeto de gerenciamento dinâmico que retorne a contagem de página de cada objeto interno.

mixed_extent_page_count

bigint

Número total de páginas alocadas e não alocadas nas extensões mistas no arquivo. As extensões mistas contêm páginas alocadas a objetos diferentes. Essa contagem inclui todas as páginas IAM no arquivo.

Comentários

As contagens de página estão sempre no nível de extensão. Portanto, os valores de contagem de página serão sempre um múltiplo de oito. As extensões que contêm páginas de alocação GAM (Global Alocação Map) e SGAM (Shared Global Allocation Map) são extensões uniformes alocadas. Elas não são incluídas nas contagens de página previamente descritas.

O conteúdo do armazenamento de versão atual está em sys.dm_tran_version_store. As páginas de armazenamento de versão são controladas no nível de arquivo, em vez de no nível de sessão e tarefa, porque são recursos globais. Uma sessão pode gerar versões, mas as versões não podem ser removidas quando a sessão terminar. A limpeza total do armazenamento de versão deve considerar a transação mais longa em execução que requer acesso à versão particular. A transação mais longa em execução relacionada com a limpeza do armazenamento de versão pode ser descoberta exibindo-se a coluna elapsed_time_seconds em sys.dm_tran_active_snapshot_database_transactions.

Mudanças freqüentes na coluna mixed_extent_page_count podem indicar uso pesado de páginas SGAM. Quando isso ocorrer, você poderá ver muitas esperas PAGELATCH_UP nas quais o recurso de espera é uma página SGAM. Para obter mais informações, consulte sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL) e sys.dm_os_latch_stats (Transact-SQL). Para obter mais informações sobre páginas SGAM, consulte Gerenciando alocações de extensão e espaço livre.

Objetos do usuário

Os objetos a seguir são incluídos nos contadores de páginas de objeto do usuário:

  • Tabelas e índices definidos pelo usuário

  • Índices e tabelas do sistema

  • Tabelas e índices temporários globais

  • Tabelas e índices temporários locais

  • Variáveis de tabela

  • Tabelas retornadas nas funções com valor de tabela

Objetos internos

Só há objetos internos em tempdb. Os objetos a seguir são incluídos nos contadores de páginas de objeto do usuário:

  • As tabelas de trabalho de operações de cursor e spool são armazenamento de LOB (Temporary Large Object, objeto temporário grande)

  • Arquivos de trabalho para operações, como junção hash

  • Execuções de classificação

Cardinalidades da relação

De

Para

Relação

sys.dm_db_file_space_usage.database_id, file_id

sys.dm_io_virtual_file_stats.database_id, file_id

Um para um

Permissões

Requer a permissão VIEW SERVER STATE no servidor.

Exemplos

Para obter exemplos do uso da exibição sys.dm_db_file_space_usage, consulte Solucionando problemas de espaço insuficiente em disco em tempdb.